Teams Messages Beta端点-不支持使用MSGraph应用程序权限调用此API

时间:2018-08-20 20:56:50

标签: microsoft-graph

当我尝试使用团队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错误。

1 个答案:

答案 0 :(得分:0)

根据您的描述,我想您想查询团队频道消息。

this documentation之后,我们可以在团队渠道中检索消息列表。

我们需要工作或学校帐户的委派权限,例如Group.Read.AllGroup.ReadWrite.All。不支持“应用程序”权限。

如果我们希望查询团队在没有用户交互的情况下发送消息,则可以使用Get access without a user获取访问令牌。

然后我们可以使用访问令牌来查询团队的频道消息,而无需用户交互。

有关如何在没有用户的情况下获取访问令牌的更多详细信息,我们可以查看this question