谷歌驱动器api上的PUT命令给出404错误



我正在尝试使用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"

相关内容

最新更新