Curl Google Drive REST API v3,可恢复上传:资源主体包含不可直接写入的字段

Curl Google Drive REST API v3,可恢复上传:资源主体包含不可直接写入的字段,curl,google-api,google-drive-api,Curl,Google Api,Google Drive Api,前言:其他问题类似,但我认为这是一个不同的问题 我正在尝试使用XHR用JavaScript中的REST API v3更新Google Drive中的一个文件,我得到了一个错误资源体包含不可直接写入的字段。。 为了避免调试代码的需要,我只需通过实际发出的cURL请求(我已经取出了所有与安全相关的位,并将它们替换为[WHAT_the_ITEM_]): 注意:要上载/更新的文件是一个JSON文件。好的,这里的答案很简单,但很愚蠢,在发出获取上载id的初始请求时,您不想将id添加到元数据中 这意味着问题

前言:其他问题类似,但我认为这是一个不同的问题

我正在尝试使用XHR用JavaScript中的REST API v3更新Google Drive中的一个文件,我得到了一个错误
资源体包含不可直接写入的字段。
。 为了避免调试代码的需要,我只需通过实际发出的cURL请求(我已经取出了所有与安全相关的位,并将它们替换为[WHAT_the_ITEM_]):


注意:要上载/更新的文件是一个JSON文件。

好的,这里的答案很简单,但很愚蠢,在发出获取
上载id的初始请求时,您不想将
id
添加到元数据中

这意味着问题与上传请求无关,而与请求
补丁有关https://www.googleapis.com/upload/drive/v3/files/[FILE_ID]?uploadType=可恢复
,用于获取实际执行上载所需的
位置
标题。见本页:

curl 'https://www.googleapis.com/upload/drive/v3/files/[FILE_ID]?uploadType=resumable&upload_id=[UPLOAD_ID]' -X PUT -H 'origin: http://[DOMAIN]' -H 'accept-encoding: gzip, deflate, br' -H 'accept-language: en-US,en;q=0.9' -H 'x-upload-content-type: application/json' -H 'accept: */*' -H 'content-type: application/json' -H 'content-range: bytes 0-26/27' -H 'referer: http://booklets-dev.resist.design:3000/' -H 'authority: www.googleapis.com' -H 'x-client-data: [CLIENT_DATA]' --data-binary $'{\n  "pages": [\n    []\n  ]\n}' --compressed