【问题标题】:Could not obtain a WAC Access Token while trying to access excel file on SharePoint尝试访问 SharePoint 上的 Excel 文件时无法获取 WAC 访问令牌
【发布时间】:2021-06-02 03:17:21
【问题描述】:

我阅读了一些与我遇到的同一问题有关的问题,但没有一个答案有帮助。

我正在尝试读取或获取存储在 SharePoint 网站中的 Excel 文件 (.xlsx) 的单元格数据值。我已授予以下权限,File.Read.All 和 Site.Read.All。

当我尝试在 MS Graph Explorer 上运行以下查询时,我得到 'Access Denied'。我在查询中填充了站点 ID 和列表 ID,但此处未显示。

https://graph.microsoft.com/v1.0/sites/{site-id}/lists/{list-id}/items/3/driveItem/workbook/worksheets/usedRange

响应预览

{
    "error": {
        "code": "AccessDenied",
        "message": "Could not obtain a WAC access token.",
        "innerError": {
            "date": "2021-03-03T17:47:01",
            "request-id": "ccb9aa2e-ef69-4834-802c-f71d43ee1b78",
            "client-request-id": "c478..."
        }
    }
}

【问题讨论】:

  • 它告诉你没有提供必要的权限来访问资源,因此它抛出了错误。复制令牌并验证相同的jwt.ms 以查看它是否包含访问给定资源所需的权限。
  • @Dev 感谢您的回复。令牌确实包含必要的权限。仍然坚持访问被拒绝的响应。
  • 好的,在您的代码之外,尝试使用 Microsoft Graph Explorer 重现该问题,看看您是否仍然可以重现该问题。如果是,那么看看你是否可以分享详细的响应(带有requestid,timestamp)
  • @Dev 我遇到的问题是 Microsoft Graph Explorer。上面的响应预览是我从 MS Graph Explorer 得到的。在我的代码中运行查询之前,我想在 MS Graph Explorer 上测试查询。如果我的描述不清楚,我很抱歉。

标签: microsoft-graph-api


【解决方案1】:

这让我摸不着头脑,但我终于能够通过 SharePoint 访问和操作我的 excel 文件。我错误地访问了 excel 文件。

我使用下面的查询来获取所有站点,包括根级和子站点:

https://graph.microsoft.com/v1.0/sites?search=*

因为使用下面的没有列出我需要的网站:

https://graph.microsoft.com/v1.0/sites/root

因为我的 excel 文件位于该站点的一个文件夹中,所以我需要提供 list-item-id,因为该文件夹是该站点的一个项目。然后,我可以将文件夹作为 drive 访问,并使用 root 提供文件夹根目录中 excel 文件的路径。最后,对工作簿进行任何需要的操作。

.../v1.0/sites/{site-id}/lists/{list-item-id}/drive/root:/{path-to-file}:/workbook/worksheets/{sheet-name or sheet-id}/usedRange

参考资料:

Working with SharePoint sites in Microsoft Graph

Get a DriveItem Resource

Working with Excel in Microsoft Graph

【讨论】:

    猜你喜欢
    • 2023-02-21
    • 1970-01-01
    • 2020-08-03
    • 2022-01-01
    • 2017-11-02
    • 1970-01-01
    • 2016-02-02
    相关资源
    最近更新 更多