无法使用 Graph API 向 Microsoft 团队频道发布消息

时间:2021-07-07 23:22:13

标签: microsoft-graph-api microsoft-graph-teams

我正在尝试使用 Graph API 向 Microsoft 团队频道发布消息,但机器人没有运气。

首先,我通过拨打以下电话获得了不记名令牌。

curl --location --request POST 'https://login.microsoftonline.com/22109ccf-0021-48af-947a-11111111111/oauth2/v2.0/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Cookie: x-ms-gateway-slice=estsfd; stsservicecookie=estsfd; fpc=ApGgHx8qh5hBlL_RviIqR3XYPIX9AQAAADMMeNgOAAAA' \
--data-urlencode 'scope=https://graph.microsoft.com/.default' \
--data-urlencode 'client_id={client_id}' \
--data-urlencode 'client_secret={client_secret}' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'code=' \
--data-urlencode 'redirect_uri=https://localhost:8080'

使用先前调用中获得的不记名令牌将消息发布到团队频道。 但收到 Unauthorized 错误,我添加了以下权限

Teamwork.Migrate.All(应用)

Content-type: application/json

{
  "body": {
    "content": "Hello World"
  }
}

我尝试使用 explore https://developer.microsoft.com/en-us/graph/graph-explorer 但收到 MethodNotAllowed 错误。

是否可以使用 Graph API 将消息发布到 MS 团队频道?在文档中它说我们可以https://docs.microsoft.com/en-us/graph/api/channel-post-messages?view=graph-rest-1.0&tabs=http

1 个答案:

答案 0 :(得分:0)

能否请您检查您的令牌 here 并确认您是否在其中看到了所有必要的权限。

根据文档,这里是支持的权限列表。 enter image description here

请确保,如果您正在使用 'ChannelMessage.Send' 权限,它是使用委托上下文令牌获得的,因为当前不支持应用程序上下文令牌。

希望这会有所帮助。谢谢!