Microsoft Graph API - 按文件路径获取文件 - 404 未找到
Microsoft Graph API - Getting files by file path - 404 Not Found
我的应用程序正在使用 client_credentials,并且在大多数调用中成功使用了图表 API。
但是,我一直在尝试通过路径和文件名从共享点文件夹中获取图像:
https://graph.microsoft.com/v1.0/drive/root:/sites/folder1/folder2/folder3/folder4/photo.jpg
正在设置适当的headers(授权和接受)。
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + session["access_token"]);
httpClient.DefaultRequestHeaders.Add("accept", "application/json; odata.metadata=minimal");
请求 returns 404 - 未找到响应。
当我导航到我们的共享点网站时,我可以很好地看到图像,所以我只能假设文件路径是正确的:
https://ourcompany.sharepoint.com/sites/folder1/folder2/folder3/folder4/photo.jpg
抱歉,我是 Graph API 的新手,在文档中找不到任何引用此内容的内容:
https://docs.microsoft.com/en-us/graph/api/resources/onedrive?view=graph-rest-1.0
路径
/me/drive/root:/path/to/file
资源
通过相对于用户 OneDrive 根文件夹的路径访问 DriveItem。
这需要特殊权限吗?我发现一些提示在 azure 门户中可能需要权限,但这与 azure 活动目录有关,我不确定它是否会影响图形 API,因为它工作正常,正在读取驱动器和驱动器项目共享点(按驱动器 ID 和驱动器项目 ID,而不是按文件路径)。
编辑:进入 Azure 门户,向应用程序添加图形 API 权限:
- 站点:ReadAll
- 目录:ReadAll
- 文件:ReadAll
到目前为止没有变化。
A site
包含 drive
,因此您引用的顺序错误。要从站点的驱动器 get a DriveItem
,您需要这样:
/sites/{siteId}/drive/root:/folder1/folder2/folder3/folder4/photo.jpg
如果您正在寻找 download DriveItem
而不是仅仅检索元数据,您需要这样:
/sites/{siteId}/drive/root:/folder1/folder2/folder3/folder4/photo.jpg:/content
我的应用程序正在使用 client_credentials,并且在大多数调用中成功使用了图表 API。
但是,我一直在尝试通过路径和文件名从共享点文件夹中获取图像:
https://graph.microsoft.com/v1.0/drive/root:/sites/folder1/folder2/folder3/folder4/photo.jpg
正在设置适当的headers(授权和接受)。
httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer " + session["access_token"]);
httpClient.DefaultRequestHeaders.Add("accept", "application/json; odata.metadata=minimal");
请求 returns 404 - 未找到响应。
当我导航到我们的共享点网站时,我可以很好地看到图像,所以我只能假设文件路径是正确的:
https://ourcompany.sharepoint.com/sites/folder1/folder2/folder3/folder4/photo.jpg
抱歉,我是 Graph API 的新手,在文档中找不到任何引用此内容的内容:
https://docs.microsoft.com/en-us/graph/api/resources/onedrive?view=graph-rest-1.0
路径
/me/drive/root:/path/to/file
资源 通过相对于用户 OneDrive 根文件夹的路径访问 DriveItem。
这需要特殊权限吗?我发现一些提示在 azure 门户中可能需要权限,但这与 azure 活动目录有关,我不确定它是否会影响图形 API,因为它工作正常,正在读取驱动器和驱动器项目共享点(按驱动器 ID 和驱动器项目 ID,而不是按文件路径)。
编辑:进入 Azure 门户,向应用程序添加图形 API 权限:
- 站点:ReadAll
- 目录:ReadAll
- 文件:ReadAll
到目前为止没有变化。
A site
包含 drive
,因此您引用的顺序错误。要从站点的驱动器 get a DriveItem
,您需要这样:
/sites/{siteId}/drive/root:/folder1/folder2/folder3/folder4/photo.jpg
如果您正在寻找 download DriveItem
而不是仅仅检索元数据,您需要这样:
/sites/{siteId}/drive/root:/folder1/folder2/folder3/folder4/photo.jpg:/content