[我正在使用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,但没有运气。
请帮助!干杯。
您得到的答复是什么(400状态码旁边的实际内容?)>
我相信requests.patch
应该以字符串而不是字典(json)的形式接收它的数据。
尝试:
move_file = requests.patch(move_url, headers=move_headers, data=json.dumps(move_body))
当然,不要忘记
import json