首页 > 解决方案 > 尝试使用 microsoft graph api 从 sharepoint 下载文件时出现乱码

问题描述

我正在尝试从我们的共享点下载一些 excel 文件。我正在遵循此资源中的说明:https ://docs.microsoft.com/en-us/graph/api/driveitem-get-content?view=graph-rest-1.0&tabs=http

当我尝试从 Postman 调用端点时,我得到了一些乱码和很长的一个。该教程说我应该得到 302 响应,但我得到 200 响应。

我还拥有对站点和文件进行读写的所有权限。

从邮递员那里,我将代码翻译成python。这是我的代码。我在我的 python 脚本上得到了相同的结果:

url = "https://graph.microsoft.com/v1.0/drives/<our_drive_id>/items/<target_file_id>/content"

        payload={}
        headers = {
          'Content-Type': 'application/json',
          'SdkVersion': 'postman-graph/v1.0',
          'Authorization': f'Bearer {token}' # retrieved from an endpoint called prior
        }

        response = requests.request("GET", url, headers=headers, data=payload)

        print(response)

这是我得到的回应: 在此处输入图像描述

我不太确定,因为我没有收到可操作的错误。此外,我得到的响应与教程中所述的预期响应不同。

标签: sharepointmicrosoft-graph-api

解决方案


该文档说该请求返回一个响应,该302 Found响应重定向到该文件的预认证下载 URL。

Postman 遵循Location响应中的标头并重定向到 URL 并下载内容。

如果您Automatically follow redirects在 Postman 设置中禁用,则响应将为 302,并且Location标头将包含下载链接。

在此处输入图像描述


推荐阅读