Microsoft Graph API在Graph explorer 403中发布禁止在postman中使用

Microsoft Graph API在Graph explorer 403中发布禁止在postman中使用,post,http-status-code-403,microsoft-graph-teams,Post,Http Status Code 403,Microsoft Graph Teams,我正在研究一种可以在MS团队频道中创建新消息的方法。我们已经为此目的创建了一个用户帐户,并且它的许可证是正确的。在postman中进行测试时,我在发布时不断收到403个错误,而所有Get请求都正常工作。作为此服务用户登录时,Graph Explorer中的帖子也可以正常工作 发布到{{teamid}}/channels/{{channelid}}/messages/ 身体 在graph explorer上,返回201,消息以团队形式显示 当我使用postman时,我首先获得一个访问令牌,尝试访问

我正在研究一种可以在MS团队频道中创建新消息的方法。我们已经为此目的创建了一个用户帐户,并且它的许可证是正确的。在postman中进行测试时,我在发布时不断收到403个错误,而所有Get请求都正常工作。作为此服务用户登录时,Graph Explorer中的帖子也可以正常工作

发布到{{teamid}}/channels/{{channelid}}/messages/

身体

在graph explorer上,返回201,消息以团队形式显示

当我使用postman时,我首先获得一个访问令牌,尝试访问同一个uri并得到良好的响应。所以代币必须是有效的,对吗

然后尝试一个帖子,得到一个403

相同的用户帐户


我缺少什么?

您需要提供身份验证

MSDN实际上有一个关于使用postman和Graph API的页面


此外,要使用Graph API,您需要创建一个,并且根据您使用的API和登录方式,您可能需要让租户同意您的应用程序权限。

我将再次检查所有这些,但我已经完成了所有这些步骤,包括让应用程序批准我的MS。我会再次发布我的发现。我已经仔细检查了权限,就我所知,我已经在那里设置了正确的权限。该应用程序已注册并获得管理员批准。它还被MS批准访问graph api。我正在尝试使用服务帐户的委派权限。服务帐户可以访问团队,并且能够通过团队web应用程序和MS Graph explorer发布没有问题的消息。应用程序具有ChannelMessage.Read.All、ChannelMessage.Send、Group.Read.All、TeamsActivity.Read、TeamsActivity.Send(以及其他可能适用或可能不适用的功能)。您是否在身份验证时使用“”作用域?如果您是,那么它只是确保所有API都正确地同意“委托”类型。您应该能够在租户azure门户上的企业应用程序列表中检查它们,以便在列出为委派的管理员同意页面上注册您的应用程序。另一个选项是,您可以在身份验证“范围”而不是“graph.microsoft.com/.default”范围中专门请求特定的权限列表。如果您没有权限,它将提示您获得管理员同意(就像graph explorer在您请求特定权限时所做的那样)。感谢您的帮助。原来我们缺少Group.ReadWrite.All委托权限。仅设置了应用程序级权限。
{
  "messageType": "message",
  "subject": "test",
  "importance": "normal",
  "body": {
    "contentType": "text",
    "content": "testing with svc account"
  }
}