繁体   English   中英

如何使用 sharepoint API 或 Microsoft Graph 从 sharepoint 站点上的文件夹请求文件内容?

[英]How to request file content from a folder on a sharepoint site using sharepoint API or Microsoft Graph?

我需要获取位于 sharepoint 站点上的文件的内容(在本例中是写在记事本文件中的文本)。 我了解到这可以通过使用 Microsoft Graph 或 sharepoint API 来完成。 因为我以前使用过 Microsoft Graph API,所以我更愿意再次使用。 我已经尝试过使用在我看来正确的 API 来发出 HTTP GET 请求,但它们以某种方式一直让我失望。

两周前,我对 API 的体验还很有限,但从那时起已经有了长足的发展。 我正在使用 Azure 的逻辑应用通过 HTTP 连接器发出 API 请求。 我将 Microsoft Graph API 和 Sharepoint API (Sites.ReadAll) 所需的 API 应用程序权限添加到我在 Azure Active Directory 中进行的应用注册。 我提出的第一个请求是对访问令牌的请求。 这个请求工作得很好,我得到了一个访问令牌。 然后我使用此访问令牌尝试从共享点站点上的某个文件中获取文件内容。 我出于隐私原因涂黑的请求 URL,但它与

https://graph.microsoft.com/v1.0/sites/{siteId}/drive/root:/{item-path}

例如:

https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com,kkkkkkkkd-dsdksdkspd-ds5sd65d544,hidzijij-ksdoqkdsnns88/drive/root:/Shared%20Documents/test1/test2/testfile.txt

HTTP 获取 driveItem 请求

我得到的输出总是(我一直在寻找可能的解决方案来解决我现在犯的任何错误大约 10 个小时)以下内容:

HTTP 请求输出

正如我之前所说,我已经尝试了以下 Microsoft 文档的不同 API,对于 Graph API 和 sharepoint API( https://docs.microsoft.com/en-us/graph/api/resources/onedrive?view=graph- rest-1.0 ),但似乎都不起作用。 我不知道我犯了什么错误,所以如果有人有线索,如果你能帮忙,我会很高兴! :D

PS:带有文件夹的共享点站点是我创建的,与我在 Azure 上登录时使用的 Microsoft 帐户相同,所以这不是问题。

使用逻辑应用程序时,使用提供的连接器连接到 SharePoint 会容易得多: https : //docs.microsoft.com/en-us/azure/connectors/connectors-create-api-sharepoint

关于 Graph API,您似乎需要使用一种解决方法: Microsoft Graph 下载文件内容返回 404

不久前我也做过类似的事情。

我使用的 URI 模板是:

https://graph.microsoft.com/v1.0/sites/{site-id}/drive/items/{drive-item-id}/content

它显然应该是一个GET请求,并且不要忘记Authorization标头中的不记名令牌。

请注意,在您的请求中您没有指定/content这意味着您将获得文件元数据而不是字节。

此外,请注意,在Microsoft Graph Docs 中,似乎为了从 SharePoint 站点下载文件,您必须知道其驱动器项目 ID(使用路径作为有效选项未提及,因此我不是确定是否可能..)

祝你好运

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM