【问题标题】:Accessing Excel over SharePoint with Graph API returns invalid URL error使用 Graph API 通过 SharePoint 访问 Excel 返回无效 URL 错误
【发布时间】:2017-10-11 20:13:48
【问题描述】:

我有一个包含多个驱动器的 Sharepoint,其中包含一个 Excel 文件 (xlsx),我想返回其中的一些数据。

我已通过带有 GET 的列表成功找到 Excel 文件: https://graph.microsoft.com/beta/sites/COMPANY.sharepoint.com:/teams/TEAM:/lists/LONGID/items/LONGID/

这会导致 Excel 文件。如果我尝试通过以 { "persistChanges": false } 作为正文 POST 到 excelfile/workbook/createSession 来启动会话,我会收到“未找到段'工作簿'的资源”错误。

认为这是因为我正在使用列表项,之后我一直试图通过驱动器找到文件,但无论如何,我无法访问任何驱动器。

https://graph.microsoft.com/beta/sites/COMPANY.sharepoint.com:/teams/TEAM:/drives

以上链接返回所有驱动器。通过转到

访问驱动器
  • 驱动器/LONGID/root
  • drives/LONGID/root/children
  • 驱动器/LONGID/项目
  • 驱动器/LONGID/root
  • 驱动器/LONGID/root/children
  • 驱动器/LONGID/项目

返回“指定的 URL 无效”。访问默认驱动器中的文件也是如此。

任何帮助将不胜感激!

【问题讨论】:

  • 我认为 URL 的处理方式可能存在问题。 GETting sharepoint/lists 和 sharepoint/lists/ 一样有效。获取 sharepoint/drives 有效,但 sharepoint/drives/ 无效。这会导致无效的 URL 错误。
  • here 相同的问题。使用新的网站格式解决了这个问题。

标签: excel sharepoint microsoft-graph-api


【解决方案1】:

您猜对了,在第一种情况下,您查询的是不是 driveItem 的 listItem。您已经非常接近自己找出正确的 URL。

您可以利用的事实是,每个 SharePoint 列表都是一个驱动器。然后,您可以执行以下操作: GET https://graph.microsoft.com/beta/sites/SITE_ID/lists/LIST_ID/drive/items/ITEM_ID/workbook/worksheets.

为了简短起见,我使用ID 表示法,但:/path: 表示法适用于站点、列表和驱动器项。

如果这仍然不起作用,请告诉我。

谢谢,
兹拉特科

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-25
    • 2016-11-15
    • 2017-10-09
    • 2017-05-19
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    相关资源
    最近更新 更多