在 Microsoft Teams 中从空频道获取消息导致 403

Fetching messages from empty channel results in 403 in Microsoft Teams

我在从 Microsoft 团队提取频道消息时遇到问题。我有一个 javascript 应用程序,它可以遍历组织中的所有团队,并从所有团队的所有频道中提取消息数量。它工作得很好,因为它 return 正确数量的消息,问题是当应用程序尝试从一个没有人在该频道中发送消息的频道获取消息时,出现 HTTP 错误和 ErrorCode 403(禁止)。尽管该应用程序成功地实现了它应该做的事情,但我不能让应用程序在每次进行 http 调用时发送 50 条愤怒的红色消息。

我使用的调用如下 https://graph.microsoft.com/beta/teams/{teamID}/channels/{channelID}/messages

有谁知道这是否可以解决?如果不是,是否可以检查频道是否为空?如果那不是一个选择;有没有人可以从控制台隐藏那些肮脏的错误消息?

编辑 #1

要调用 api 我使用了:

  let header = new Headers();
  header.append("Authorization", "Bearer " + accessToken);
  header.append("Content-Type", "application/json");

  fetch("https://graph.microsoft.com/beta/teams/232808c2-d500-47b0-9ead-e238c5e2ab95/channels/19:69a01be632994d123014bbae1aa5db1e@thread.tacv2/messages", {method:"GET", headers: header})

编辑#2

我的回复对象似乎是正确的:

  {  
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#teams('90baabba-1b5e-471c-a163-8a9b4b680de7')/channels('19%3A01c741f599e547f0b9b38296283b7fec%40thread.skype')/messages",
    "@odata.count": 0,
    "value": [] 
  }

问题是当我查看 Google Chrome > 开发工具 > 控制台时,提取仍然显示错误:

GET https://graph.microsoft.com/beta/teams/4f460179-4691-42e5-8677-9101dcdb65fe/channels/19:3497f5b8f9f54149919631b32d21e608@thread.tacv2/messages 403 (Forbidden)

当我控制台记录错误时,它只显示为:

error: {code: "Forbidden", message: "Forbidden", innerError: {…}}

只允许团队成员阅读消息。管理员可以进行团队管理,即对团队、频道、选项卡等进行 CRUD 操作。但是他们不能阅读消息。这是有意为之,我们不打算在不久的将来改变它