调用Microsoft Graph API时出现WAC访问令牌错误

时间:2019-06-13 08:41:43

标签: office365 microsoft-graph

我正在第一时间关注Microsoft Graph。我正在致电https://graph.microsoft.com/beta/me/drive/items/root:/STWTest.xlsx:/workbook/并得到以下答复:

{
    "error": {
        "code": "AccessDenied",
        "message": "Could not obtain a WAC access token.",
        "innerError": {
            "request-id": "28dc972e-b8ce-4b5c-bfbe-2bd29094c878",
            "date": "2019-06-13T08:35:23"
        }
    }
}

关于如何解决此错误的任何想法?

2 个答案:

答案 0 :(得分:2)

我知道 OP 已经回答了他们自己的问题,但就我而言,解决方案有所不同。

我只是使用了错误的 DriveItem(即文件)ID(来自错误的驱动器)。

如果您正在使用 Teams 并处理嵌入的 SharePoint 网站中的文件,则可以使用以下一种方法来获取(或仔细检查)必要的 ID:

  1. 您所属的组 (~=Teams)(从该命令的结果中复制您想要的 Team 的 id 字段): https://graph.microsoft.com/v1.0/me/transitiveMemberOf/microsoft.graph.group
  2. 团队频道(替换以下网址中的 {team-id},并复制结果中的 id 字段): https://graph.microsoft.com/v1.0/teams/{team-id}/channels
  3. 与频道关联的 Sharepoint 站点(复制 parentReference.driveId 字段(SharePoint 的根)和 id 字段(与频道同名的目录)): https://graph.microsoft.com/v1.0/teams/{team-id}/channels/{channel-id}/filesFolder
  4. 频道的 Sharepoint 目录的内容(复制您想要的文件(或目录)的 id 字段(DriveItem id)): https://graph.microsoft.com/v1.0/drives/{parentReference.driveId}/items/{channel-directory-id}/children
  5. 如果您需要进入子目录,请将上面 url 中的 {channel-directory-id} 替换为您要探索的子目录的 id,以获取其自己的子目录,并根据需要重复。

您现在可以构建如下网址:https://graph.microsoft.com/v1.0/drives/{parentReference.driveId}/items/{driveitem-id}/workbook/worksheets/My%20Sheet%20Name/range(address='A1:B2')

答案 1 :(得分:0)

处理了一段时间后,似乎我的权限设置错误。为了将来参考,请转到Microsoft文档,然后检查页面顶部的“权限”部分。