【问题标题】:How to read teams channel messages using msal in python如何在 python 中使用 msal 读取团队频道消息
【发布时间】:2020-10-27 03:53:15
【问题描述】:

我正在“Azure Active Directory”中的“应用程序注册”上创建一个应用程序“valid-microsoftgraph”,以使用由 python 编写的 msal 连接到图形 api。 而且,我正在使用“客户端机密”来连接 msal 和“valid-microsoft graph”。 并且,授予“valid-microsoft graph”的以下权限。

  • API/权限名称:Team.ReadBasic.All,类型:应用程序,状态:授予管理员
  • API/权限名称:TeamsActivity.Read.All,类型:应用程序,状态:授予管理员
  • API/权限名称:Channel.ReadBasic.All,类型:应用程序,状态:授予管理员
  • API/权限名称:ChannelMessage.Read.All,类型:应用程序,状态:授予管理员

我想对“valid-microsoft graph”执行以下获取请求,但它返回“未知错误”。

确保您为“teams_id”和“channel_id”输入了确实存在的 ID。 (我从“users/{user_id}/joinedTeams”中检索到“teams_id”) (我从“teams/{id}/channels”中检索到“channel_id”)

我遇到了麻烦,因为我不明白为什么我无法获得 ChannelMessage,所以如果你能帮助我,我会很高兴。 谢谢。

【问题讨论】:

  • (1) 您正在使用什么类型的流程 - 委托或应用程序权限? (2) 当您收到错误时 - 在从 Identity 接收访问令牌之后或当您尝试使用获取的令牌访问图形资源时? (3) 交叉检查您在 Azure AD 门户中配置的权限 (4) 验证 jwt.ms 中的令牌并查看您的范围是否有效 (5) 尝试使用 MS Graph Explorer 或 POSTMAN 重现该问题,看看它是否有效为你(6)分享你得到的上述详细错误堆栈的请求id、时间戳……
  • 您可以使用更改通知API订阅ChatMessage API,稍后您可以阅读channel messages

标签: microsoft-graph-api microsoft-teams


【解决方案1】:

它迟到了,但答案可能对某人有所帮助

这是因为 Microsoft Graph 中的某些 API 是受保护的 API。特别是某些与团队相关的 API。这是考虑到用户的隐私,否则每个聊天消息和组织 IP 都可能存在风险

这里是关于受保护 API 的文档 - https://docs.microsoft.com/en-us/graph/teams-protected-apis

如果您想访问这些受保护的 API,您必须填写 Microsoft 文档中提到的此表格,说明详细用途 - https://forms.office.com/Pages/ResponsePage.aspx?id=v4j5cvGGr0GRqy180BHbR1ax4zKyZjVBmutzKVo1pVtUQ1VJMlNTNUdJV1FKTzVZSVU4MlMwTTdOTSQlQCN0PWcu

【讨论】:

    猜你喜欢
    • 2020-04-07
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多