我正在设置一个应用程序,用于通过Microsoft Graph API修改Microsoft Teams帐户(团队/渠道),但是我无法从需要调用的所有端点中获得响应。 我遵循guide来创建具有应用程序权限并成功获取访问(和刷新)令牌的应用程序。
调用https://graph.microsoft.com/v1.0/users/<user guid>/joinedTeams
endpoint会产生如下响应:
{
"error": {
"code": "Unauthorized",
"message": "Unauthorized",
"innerError": {
"date": "2020-06-24T12:37:53",
"request-id": <guid>
}
}
}
呼叫https://graph.microsoft.com/v1.0/users
之类的端点时,起作用as described。该应用似乎没有获得访问权限和/或许可,但是在注册后,它们会在azure门户企业应用程序页面的API权限中列出,并且访问令牌JWT包含指定的权限,{ 1}}对象。
来自JWT:
roles
我尝试使用"roles": [
"TeamSettings.ReadWrite.All",
"User.ReadWrite.All",
"Directory.ReadWrite.All",
"Group.ReadWrite.All",
"TeamMember.ReadWrite.All",
"Team.ReadBasic.All",
"GroupMember.ReadWrite.All",
"Member.Read.Hidden"
]
权限以及Directory.ReadWrite.All
端点的permissions page上列出的完整权限列表,它们都引发相同的错误。
奇怪的是,根据this,对于过期(或类似无效)的令牌,会给出 401-未经授权的响应,但是显然不是这种情况,因为我可以称呼其他具有该标记的端点。
我想念什么?
答案 0 :(得分:0)
感谢@MikeOliver 当我注册团队时,它创建了另一个目录。只有第二个目录才具有Teams“许可证”(从Azure门户的“许可证”页面可见)。