无法在Mocrosoft图中移动DriveItem

问题描述 投票:0回答:1

[我正在使用Python将PDF文件从OneDrive下载到本地文件夹,并且在下载文件后还将文件移动到OneDrive中的其他文件夹。

我能够将文件从OneDrive下载到本地文件夹,但是,当尝试将文件移动(PATCH)到另一个OneDrive文件夹时,收到400响应。

这是我成功下载文件的代码:

download_url = 'https://graph.microsoft.com/v1.0/me/drive/items/{item-id}/content'

headers = {'Authorization': 'Bearer ' + json_response['access_token']}

download_url_data = requests.get(download_url, headers=headers)

with open('/Users/Name/Folder/file_name, 'wb') as f:

     f.write(download_url_data.content)

这是我移动文件失败的PATCH请求:

move_url = 'https://graph.microsoft.com/v1.0/me/drive/items/{item-id}

move_headers = {'Authorization': 'Bearer ' + json_response['access_token'],
           'Content-Type' : 'application/json'}

move_body = {'parentReference' : {'id' : '01EV3NG2F6Y2GOVW7775BZO354PUSELRRZ'}}

move_file = requests.patch(move_url, headers=move_headers, data=move_body)

return move_file.status_code

[我在这里遵循文档https://docs.microsoft.com/en-us/graph/api/driveitem-move?view=graph-rest-1.0&tabs=http,并且尝试了不同的parentReference ID,但没有运气。

请帮助!干杯。

python-requests microsoft-graph patch onedrive microsoft-graph-files
1个回答
0
投票

您得到的答复是什么(400状态码旁边的实际内容?)>

我相信requests.patch应该以字符串而不是字典(json)的形式接收它的数据。

尝试:

move_file = requests.patch(move_url, headers=move_headers, data=json.dumps(move_body))

当然,不要忘记import json

© www.soinside.com 2019 - 2024. All rights reserved.