我正在尝试使用curl PUT命令更新谷歌驱动器上已经存在的文件,我给出了正确的文件ID,但仍然显示404错误。
以下是我正在使用的curl命令:
curl -v -X PUT -L -H "Authorization: Bearer <accessToken>" -F 'file=@<filePath>;type=application/octet-stream' "https://www.googleapis.com/upload/drive/v3/files/<fileId>?uploadType=multipart"
这里少了什么东西吗?用户本身就是文件所有者,因此权限是存在的。
第一个问题是file.update方法是PATCH而不是GET方法
PATCH https://www.googleapis.com/upload/drive/v3/files/fileId
第二个问题你打算更新什么?您需要在正文中发送对文件元数据的任何更改。
curl --request PATCH
'https://www.googleapis.com/drive/v3/files/xxxxxxxxxx?key=[YOUR_API_KEY]'
--header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]'
--header 'Accept: application/json'
--header 'Content-Type: application/json'
--data '{}'
--compressed
你打算如何上传文件本身?我认为你需要使用file命令。
curl -X PATCH -L
-H 'Authorization: Bearer [YOUR_ACCESS_TOKEN]'
-F 'metadata={name :'%s'};type=application/json;charset=UTF-8'
-F 'file=file.zip;type=application/zip'
"https://www.googleapis.com/upload/drive/v3/files/xxxxxx?uploadType=multipart"