首页 > 解决方案 > Python 3.x - 如何使用请求补丁更新 Google Drive 上的 CSV 文件

问题描述

我正在尝试使用 requests.patch() 更新存储在 Google Drive 文件夹中的 .CSV 文件。请求成功并且文件得到更新,但是当我打开它时,我看到了这个.

我不明白为什么将“Content-Disposition”、“Content-Type”等添加到我的文件中。有什么办法可以在没有它们的情况下更新 .CSV?

我的代码:

headers = {'Authorization': token}
para = {'parents': 'folder_id'}
files = {
    'data': ('metadata', json.dumps(para), 'application/json; charset=UTF-8'),
    'file': open('file.csv', 'rb')
}
url = 'https://www.googleapis.com/upload/drive/v3/files/'+file_id+'?uploadType=media'

r=requests.patch(url, headers = headers, files = files)
print(r.text)

任何帮助是极大的赞赏。

标签: python-3.xcsvpython-requests

解决方案


请求正文似乎是分段上传。那么如何修改如下?

从:

url = 'https://www.googleapis.com/upload/drive/v3/files/'+file_id+'?uploadType=media'

到:

url = 'https://www.googleapis.com/upload/drive/v3/files/'+file_id+'?uploadType=multipart'

参考:

如果这不是你想要的,我很抱歉。

添加:

当您要移动文件所在的文件夹时,请进行如下修改。para = {'parents': 'folder_id'}在这种情况下不使用。

到:

url = 'https://www.googleapis.com/upload/drive/v3/files/'+file_id+'?uploadType=multipart&addParents=### new folderId ###&removeParents=### current folderId ###'

参考:


推荐阅读