1

我需要获取位于共享点站点上的文件的内容(在本例中是写在记事本文件中的文本)。我了解到这可以通过使用 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 帐户,所以这不是问题。

4

2 回答 2

1

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

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

于 2020-03-06T03:31:36.390 回答
0

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

我使用的 URI 模板是:

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

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

请注意,在您的请求中,您没有指定/content获取文件元数据而不是字节的方式。

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

祝你好运

于 2020-03-08T15:39:07.923 回答