图形 API 错误消息:“仅出于导入目的,在仅应用程序上下文中允许消息 POST”

问题描述 投票:0回答:1

我正在使用 Microsoft Graph API 在特定的 MS Teams 频道中发布消息,但出现以下错误:

  • 在邮递员中:

    {"error":{"code":"Unauthorized","message":"Message POST is allowed in application-only context only for import purposes. Refer to https://docs.microsoft.com/microsoftteams/platform/graph-api/import-messages/import-external-messages-to-teams for more details.","innerError":{"date":"2023-12-05T13:23:26","request-id":"27ff306e-d5ac-46fe-9ac5-57cde99a922d","client-request-id":"27ff306e-d5ac-46fe-9ac5-57cde99a922d"}}}

  • 在我使用的集成平台中:

    {"error":{"code":"Unauthorized","message":"Message POST is allowed in application-only context only for import purposes. Refer to https://docs.microsoft.com/microsoftteams/platform/graph-api/import-messages/import-external-messages-to-teams for more details.","innerError":{"date":"2023-12-05T13:23:26","request-id":"27ff306e-d5ac-46fe-9ac5-57cde99a922d","client-request-id":"27ff306e-d5ac-46fe-9ac5-57cde99a922d"}}}

虽然错误略有不同,但它指的是同一问题:我无权在此特定通道中进行 API 调用,因为根据第一条错误消息中的链接,只能对迁移中的 通道进行调用状态。我不确定我是否完全理解它。

在 Graph Explorer 中,请求成功,消息发布到频道中。当我尝试使用 Postman 等其他工具时,它不起作用。我猜 Graph Explorer 有额外的授权。

你知道有什么解决方法吗?

只要我能够通过 API 发布消息,我就不介意更改频道的状态。

我尝试进行多次调用并多次刷新令牌并添加权限,但它仅在 Graph Explorer 中有效

编辑:发布消息的用户也可以是机器人或集成用户

microsoft-graph-api microsoft-teams
1个回答
0
投票

您正在使用应用程序权限而不是使用委派权限,因此您会收到此错误。如此处所述,应用程序权限仅支持迁移

委派权限由具有登录用户的应用程序使用(例如在 Graph Explorer 中)。对于这些应用程序,用户授权该应用程序在调用 Microsoft Graph 时充当登录用户。所以,它在那里工作。

当您使用 Postman 等工具时,您可能会使用应用程序权限,这意味着应用程序在没有登录用户的情况下运行。您看到的错误消息是因为您尝试执行的操作(将消息发布到频道)需要委派权限,而不是应用程序权限。

© www.soinside.com 2019 - 2024. All rights reserved.