使用Microsoft Graph API下载SharePoint文件遇/content路径报错求助
你遇到的问题核心是端点路径错误——列表项(Item)资源本身并没有/content这个子路径,必须先通过file导航属性定位到关联的文件资源,才能访问它的内容接口。
正确的两种下载方式
方式1:直接通过列表项关联的文件资源访问
把你的端点修改为,在原item路径后加上/file/content:
https://graph.microsoft.com/v1.0/sites/<host.sharepoint.com>/lists/<ListID>/items/<ItemID>/file/content
这个路径会直接指向列表项关联的文件内容,调用后就能获取文件的二进制流。
方式2:先获取文件ID,再用文件专属端点下载
如果你已经从原item响应中拿到了file.id(需要确认原响应里存在file属性,说明这是一个文件而非文件夹),可以用更直接的文件端点:
https://graph.microsoft.com/v1.0/sites/<host.sharepoint.com>/drive/items/<FileID>/content
关键注意点
- 先确认你的列表项是文件:调用原item端点后,检查响应是否包含
file属性。如果没有,说明这个item是文件夹或者非文件类型的列表项,自然无法下载内容。 - 权限验证:确保你的应用或账号拥有足够的权限,比如
Files.Read、Sites.Read.All这类允许读取文件内容的权限。
错误提示里的"Resource not found for the segment 'content'"就是因为Graph API无法在列表项资源下找到
content这个子资源,必须通过file导航到文件资源后再访问。
内容的提问来源于stack exchange,提问作者Yu-s-uF
相关产品推荐
相关产品推荐

