Microsoft Graph API for Teams:发送频道/聊天消息

Microsoft Graph API for Teams: Send Channel/ Chat messages

我想使用 Microsoft Graph API 向聊天或频道发送消息。

我创建了一个应用程序内注册。

创建了一个秘密,我可以使用下面的 URI 获得一个令牌

https://login.microsoftonline.com//oauth2/v2.0/令牌

我还设置了以下权限

我正在尝试使用团队合作API

POST /teams/{team-id}/channels/{channel-id}/messages

我收到以下回复

{"error":{"code":"Forbidden","message":"请求中缺少角色权限。API 需要 'Teamwork.Migrate.All, ChannelMessage.ReadWrite.All' 之一。请求中的角色 ' '","innerError":{"date":"2021-08-10T19:01:16","re​​quest-id":"MyID","client-request-id":"MyID"}}}

我应该在哪里分配这些权限是在 API 权限中还是在角色和管理员中分配新角色

你的问题是那些都是应用程序权限,而所有现有的都是委托权限。

在门户中,不要单击委派权限,而是单击应用程序权限,您可以添加 Teamwork.Migrate.All 和 ChannelMessage.ReadWrite.All。

另请注意,这两者都需要管理员同意,因此您必须让管理员先登录并授予权限,或者向管理员发送同意书 link 以允许您的应用获得这些权限:https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/grant-admin-consent

转到 portal.azure.com > Azure Active Directory Blade > 应用程序注册 > 你的应用程序 > API 权限 > 图 API > 应用程序权限

您可以在此处找到有关委派权限与应用程序权限的更多信息:https://docs.microsoft.com/en-us/graph/permissions-reference#channel-permissions