无法更新Google Drive v3 api中的文件的缩略图链接

时间:2019-04-05 21:53:44

标签: oauth-2.0 google-drive-api google-drive-android-api

我正在使用curl工具中的google drive-v3 API进行实验。在这里,我使用下面的API创建了一个新的空文件(仅包含文件名)。

curl --request POST https://www.googleapis.com/drive/v3/files --header 'Authorization: Bearer [ACCESS-TOKEN]' --header 'Accept: application/json' --header 'Content-Type: application/json' --data '{'\''name'\'':'\''New-EmptyFile.jpg'\'','\''parents'\'':['\''1_m7AipvwhKayhy6awYETqJYnp51vU_I1'\''],'\''mimeType'\'':'\''image/jpeg'\''}' --compressed

创建的新的空图像文件没有图像数据和缩略图。

{
    "id": "170zfkmx03z0NzGOwp0f0loGj1Q4rAJt7",
    "name": "New-EmptyFile.jpg",
    "createdTime": "2019-04-05T20:19:02.077Z"
}

因此,我尝试使用Google驱动器中已经存在的文件之一的缩略图链接来更新图像文件的缩略图,但出现以下错误。

缩略图链接:

https://lh3.googleusercontent.com/8Xb7kzH-cggIF-NfH5qjiHc_nea0ZhlYW_tcsfX6-W37UZIhiBIljvyRs4c7MGC_-h4K5fB-hZg=s220

使用卷曲命令更新缩略图:

curl -# --request PATCH https://www.googleapis.com/drive/v3/files/170zfkmx03z0NzGOwp0f0loGj1Q4rAJt7 --header 'Authorization: Bearer ya29.GlvjBgWHr1i1uM_yJCBkw7du50QbCWbJ0jb0kVZEfRudisakYW2hs681cYbhdxrTpFuhLPdjzPilyccoG_TiKTG_YmeLOv4mu2BAuNf3ZCxXpOmexLSjdm657VZK' --header 'Accept: application/json' --header 'Content-Type: application/json' --data '{"thumbnailLink":"https://lh3.googleusercontent.com/8Xb7kzH-cggIF-NfH5qjiHc_nea0ZhlYW_tcsfX6-W37UZIhiBIljvyRs4c7MGC_-h4K5fB-hZg=s220"}' --compressed

错误响应:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "fieldNotWritable",
    "message": "The resource body includes fields which are not directly writable."
   }
  ],
  "code": 403,
  "message": "The resource body includes fields which are not directly writable."
 }
}

如何解析和更新缩略图?

1 个答案:

答案 0 :(得分:1)

The official document如下。

  

如果云端硬盘可以从文件生成缩略图,则它将使用生成的缩略图,而忽略您可能上传的任何缩略图。如果无法生成缩略图,则如果您提供了缩略图,它将始终使用您的缩略图。

不幸的是,这不能更改图像文件的缩略图。

  • 尽管我尝试修改图像文件的缩略图,但我确认在当前阶段还无法实现。
  • 例如,对于zip文件,可以修改缩略图。

参考: