调用 Microsoft Graph 时获取 WAC 访问令牌错误 API

Getting WAC access token error when calling Microsoft Graph API

我是第一次查看 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"
        }
    }
}

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

经过一段时间的努力,我的权限似乎设置错误。为了将来参考,请转到页面顶部的 Microsoft documentation and check the permissions section

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

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

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

  1. 您所属的组 (~=Teams)(从该命令的结果中复制您想要的团队的 id 字段): https://graph.microsoft.com/v1.0/me/transitiveMemberOf/microsoft.graph.group
  2. 团队频道(替换下面url中的{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,获取自己的子目录,根据需要重复.

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