我正在尝试从 MS Graph
/drive/items/xxxx
API 端点下载 SharePoint 文件。我的链接格式为 https://company-my.sharepoint.com/personal/drive_name/_layouts/15/WopiFrame.aspx?sourcedoc=%7B<GUID>%7D
,但图形 API 需要其他一些 OneDrive 文件 ID 才能成功获取文件元数据。
我有正确的权限范围,如果我枚举驱动器内容,我可以在那里看到该文件。
有没有办法将
sourcedoc
guid 转换为 API 所需的内容,或者通过 SharePoint guid 获取文件元数据?
您需要的是Shares API。给定一个类似于您在示例中使用的 URL,您需要使用
this 算法将其转换为
share id
值。
因此,对于您的示例,id 是:
u!aHR0cHM6Ly9jb21wYW55LW15LnNoYXJlcG9pbnQuY29tL3BlcnNvbmFsL2RyaXZlX25hbWUvX2xheW91dHMvMTUvV29waUZyYW1lLmFzcHg_c291cmNlZG9jPSU3QjxHVUlEPiU3RA
使用此值,您可以使用以下方式查询项目的元数据:
https://graph.microsoft.com/v1.0/shares/u!aHR0cHM6Ly9jb21wYW55LW15LnNoYXJlcG9pbnQuY29tL3BlcnNvbmFsL2RyaXZlX25hbWUvX2xheW91dHMvMTUvV29waUZyYW1lLmFzcHg_c291cmNlZG9jPSU3QjxHVUlEPiU3RA/root