我开发了一个与Microsoft Graph API集成并且使用Azure 2.0 API进行身份验证的应用程序。 从Microsoft Graph我可以吸引用户。 现在,我想查看每个用户的状态信息,因此我需要使用Skype在线进行业务。
我将请求发送至:
https://webdir.online.lync.com/autodiscover/autodiscoverservice.svc/root
用户href为:
https://webdir0f.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user
我从以下位置获得了https://webdir0f.online.lync.com
的访问令牌:
https://login.microsoftonline.com/<mytenant>/oauth2/v2.0/token
令牌没有“角色”声明,这很奇怪。
比https://webdir0f.online.lync.com/Autodiscover/AutodiscoverService.svc/root/oauth/user
回报了我500。
是否有一种使用Azure 2.0来访问Skype for Business Online的方法? 在Skype for Business Online中没有登录用户的情况下,有什么方法可以获取状态信息吗?
UPD:
我能够使用客户端密钥获取范围https://webdir0f.online.lync.com/Contacts.ReadWrite
的访问令牌。
答案 0 :(得分:0)
小的更正,您使用的不是“ Azure 2.0”,而是Azure Active Directory的“ App v2”,或更常见的是“ v2 Endpoint”。
v2端点具有多个well-known limitations,并且不支持所有API和功能。 Skype和Skype for Business API均不支持v2端点。
通常,除非它是最近发布的API或Microsoft Graph公开的,否则它仅适用于v1端点发行的令牌。
答案 1 :(得分:0)
我设法使用Azure 2.0应用程序访问了Skype for Business。刚遵循了准则。
在自动发现期间,您需要将范围设置为下一个用户或重定向uri,例如:df1$Flag <- +(with(df1, GroupID %in% names(which(table(GroupID,
Status == "X")[,2]> 0))))
。
比Azure 2.0更能实现Skype for Business URI和范围,并且可以正常运行。 尽管Skype for Business API仍然是旧的并且很难使用。
我还没有找到从Sfb API获取所有其他公司用户在线状态信息的方法。 看起来等到Trusted Application API正常工作才有意义。
也无法获取应用程序令牌。