首页 文章

Google Cloud 端硬盘和Google API资源管理器 - 更改图像元数据 - 位置

提问于
浏览
2

我想更新 Cloud 端硬盘中文件的图片位置标记 . 此时我已经确定了两种似乎可以执行此操作并尝试使用“试用此API”栏进行更改的方法

我提供了一个fileID,将字段设置为“imageMediaMetadata / location”以过滤对我感兴趣的数据的响应并设置请求体如下

{
  "imageMediaMetadata": {
    "location": {
      "latitude": -30.12345678901234
      "longitude": 170.12345678901234
    }
  }
}

两种方法都返回绿色成功代码200和返回字符串,但返回字符串显示数据未更改(我正在尝试更改此图像的纬度符号) .

{
  "imageMediaMetadata": {
    "location": {
      "latitude": 30.12345678901234
      "longitude": 170.12345678901234
    }
  }
}

尝试更新方法的另一个位置是developers.google.com/apis-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资源管理器?)

任何人都可以提供更多信息吗?谢谢

2 回答

  • 1

    “资源主体包括不可直接写入的字段 . ”

    意味着您无法通过API更改这些字段 . 该字段是只读的 .

    如果您查看file resource的文档,您会注意到某些字段是可写的,而其他字段不是空白的 .

    话虽如此,我已向谷歌发送了一封电子邮件,建议他们添加只读,而不是将这些字段留空以便澄清 .

    Solution :我建议您尝试下载文件并在本地机器上更改位置 .

  • 1

    在您链接到'Request body'部分的(https://developers.google.com/drive/v2/reference/files/update)页面上,您可以找到所有可写属性的列表 . 该位置不存在,因此无法通过此API写入 .

    但是,我承认在这种情况下,回应200是非常误导的 .

    this page上,您会找到 all properties of the file resource ,其中包含可以写入的信息 .

相关问题