Google api 谷歌驱动器和谷歌API浏览器-更改图像元数据-位置

Google api 谷歌驱动器和谷歌API浏览器-更改图像元数据-位置,google-api,google-drive-api,google-apis-explorer,Google Api,Google Drive Api,Google Apis Explorer,我想更新驱动器中文件的图像位置标记。此时,我已经确定了两个似乎能够做到这一点的方法,并尝试使用“trythisapi”栏进行更改 文件:更新 或文件:补丁…驱动器/v2/reference/Files/patch 我提供一个fileID,将字段设置为“imageMediaMetadata/location”,以过滤对我感兴趣的数据的响应,并按如下方式设置请求主体 { "imageMediaMetadata": { "location": { "latitude":

我想更新驱动器中文件的图像位置标记。此时,我已经确定了两个似乎能够做到这一点的方法,并尝试使用“trythisapi”栏进行更改

  • 文件:更新
  • 或文件:补丁…驱动器/v2/reference/Files/patch
我提供一个fileID,将字段设置为“imageMediaMetadata/location”,以过滤对我感兴趣的数据的响应,并按如下方式设置请求主体

{
  "imageMediaMetadata": {
    "location": {
      "latitude": -30.12345678901234
      "longitude": 170.12345678901234
    }
  }
}
两种方法都返回绿色成功代码200 返回字符串,但是返回字符串显示的数据没有变化(我正在尝试更改此图像的纬度符号)

尝试更新方法的另一个位置是developers.google.com/api explorer/#p/drive/v3/drive.files.update

这声称它“用补丁语义更新文件的元数据和/或内容”

使用相同的输入,此方法返回错误代码-403,具体如下:

{
 "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."
 }
}
因此,可能是(a)我形成请求的方式有问题,或者(b)位置数据是只读的,不能通过API修改。(或者这可能在正常使用中可以工作,但不能通过API浏览器?)

有人能提供更多的信息吗?谢谢

“资源正文包含不可直接写入的字段。”

意味着您不能通过API更改这些字段。该字段是只读的

如果您检查文档中的内容,您会注意到一些字段是可写的,而其他字段不是空的

也就是说,我给谷歌发了一封电子邮件,建议他们添加只读内容,而不是将字段留空以便澄清

解决方案:我建议您尝试下载该文件并在本地更改计算机上的位置。

在您链接到的页面()的“请求正文”部分下,您可以找到所有可写属性的列表。位置不在那里,因此无法通过此API写入

然而,我承认,在这种情况下,答案200是相当误导的


在上,您可以找到文件资源的所有属性,以及哪些属性是可写的信息。

这个答案与我的答案有什么不同?你只需要编辑我的答案并添加链接就可以了。现在谷歌有一个内部问题,它将解决在相关字段中添加只读内容的问题。这将有助于今后的澄清。
{
 "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."
 }
}