当我尝试使用团队Beta终结点,例如
https://graph.microsoft.com/beta/teams/{group-id}
仅具有应用程序访问权限,我收到错误消息:
{
"error": {
"code": "InvalidRequest",
"message": "Calling this API using MSGraph Application Permissions is not supported.",
"innerError": {
"request-id": "32ea3e82-d0c5-42ce-9e94-b215bf255a0a",
"date": "2018-08-20T20:52:12"
}
}
}
这些端点可以与用户委派的权限一起正常工作。是否确实不支持这种类型的访问,还是我在请求中缺少某些内容?我的最终目标是在不与用户互动的情况下查询团队渠道消息。
更新有关获取令牌和其他端点的更多详细信息:
我正在同意
https://login.microsoftonline.com/{tenant}/adminconsent
,然后使用https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
获取令牌。我正在使用“客户端凭据”授予类型。
如果我尝试更深入地浏览团队端点(例如渠道或消息),则会得到:
{
"error": {
"code": "UnknownError",
"message": "",
"innerError": {
"request-id": "953fd07b-6e4e-4ce2-bd97-92a9eaa676bf",
"date": "2018-08-22T13:37:08"
}
}
}
我还尝试了https://graph.microsoft.com/beta/groups/{group-id}/
,它返回了预期的结果,但是https://graph.microsoft.com/beta/groups/{group-id}/team
返回了Calling this API using MSGraph Application Permissions is not supported
错误。
答案 0 :(得分:0)
根据您的描述,我想您想查询团队频道消息。
在this documentation之后,我们可以在团队渠道中检索消息列表。
我们需要工作或学校帐户的委派权限,例如Group.Read.All
和Group.ReadWrite.All
。不支持“应用程序”权限。
如果我们希望查询团队在没有用户交互的情况下发送消息,则可以使用Get access without a user获取访问令牌。
然后我们可以使用访问令牌来查询团队的频道消息,而无需用户交互。
有关如何在没有用户的情况下获取访问令牌的更多详细信息,我们可以查看this question。