Google drive api 谷歌驱动器API附加文件?
如何使用API将内容附加到Google Drive中的文件末尾Google drive api 谷歌驱动器API附加文件?,google-drive-api,Google Drive Api,如何使用API将内容附加到Google Drive中的文件末尾 我真的需要下载整个文件,然后编辑本地副本,然后重新上传整个文件吗?是的,你真的需要下载、编辑文件并再次上传。无法以编程方式编辑文件。除了电子表格之外,您可能会使用Google sheets API,而不是Google drive API。您可以使用驱动器API可恢复上载,但有一些限制: (我不太记得它是不是真的)上传的最小字节数必须是262144,除了“创建”文件的最终上传,它可以包含更少的字节数 上传会话在一周后过期, 如果不
我真的需要下载整个文件,然后编辑本地副本,然后重新上传整个文件吗?是的,你真的需要下载、编辑文件并再次上传。无法以编程方式编辑文件。除了电子表格之外,您可能会使用Google sheets API,而不是Google drive API。您可以使用驱动器API可恢复上载,但有一些限制:
- (我不太记得它是不是真的)
上传的最小字节数必须是
,除了“创建”文件的最终上传,它可以包含更少的字节数262144
上传会话在
, 如果不知道最终文件大小,可以将一周后过期
内容范围设置为
*/*
文件将不会显示在用户界面的google drive中
,直到完成
,使用类似的标题上传到下面的示例,其中/*是文件的最终字节长度。它必须少一个字节,如下例所示:
262146/262147
headers = {"Authorization": "Bearer "+myAccesstoken,
"Content-Type": "application/json"}
file_metadata = {
'name': "myFile.txt",
'mimeType': "text/plain",
'parents': [myFolderid],
"uploadType": "resumable"
}
r = requests.post(
"https://www.googleapis.com/upload/drive/v3/files?uploadType=resumable",
headers=headers,
data=json.dumps(file_metadata)
)
session_url=r.headers['Location']
然后,您可以将数据上载到它:
headers = {
"Authorization": "Bearer "+myAccesstoken,
"Content-Range": 'bytes 0-262144/*'}
if is_final_data:
headers = {
"Authorization": "Bearer "+myAccestoken,
"Content-Range": 'bytes 262144-262146/262147'}
sd = io.BytesIO()
sd.write(bytes("Wurst", "ASCII"))
sd.seek(0)
r = requests.put(
session_url,
headers=headers,
data=sd
)
若要获取上次上载的字节位置,如果要恢复上载,请仅发送带有会话url和授权标头的空put请求,然后读取其响应标头
您可以将会话url存储在文件中,然后继续上载一周。
注意:由于访问令牌仅在有限的时间内有效,因此您将需要以下内容
if credentials.access_token_expired:
credentials.refresh(httplib2.Http())
告诉我更多关于google sheets API的信息->如果我也想要->我可以制作一个1单元格宽度的CSV并附加它吗?(从而有效地添加新行)是的,你可以。这是一个旧的GDataAPI,这意味着访问它很痛苦。