我正在使用Storage JSON api。
编辑更具体:
当我:
POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=resumable HTTP/1.1
Authorization: Bearer [MY_AUTH_TOKEN]
Content-Length: 38
Content-Type: application/json; charset=UTF-8
X-Upload-Content-Type: image/jpeg
X-Upload-Content-Length: 2000000
{ "name": "myObject", "foo": "bar" }
然后只设置了文件的名称,我希望在"foo" : "bar"
字段中看到metadata
。
(1)
媒体的/ upload URI。 / upload端点的格式是 带有/ upload前缀的标准资源URI。使用此URI时 传输媒体数据本身。示例:POST /上传/存储/ V1 / B / myBucket / O。
和
(2)
元数据的标准资源URI。如果资源包含 任何数据字段,这些字段用于存储元数据描述 上传的文件。您可以在创建或更新时使用此URI 元数据值。示例:POST / storage / v1 / b / myBucket / o。
他们还说/upload
(1)请求的一个例子:
如果您有该文件的元数据,请将元数据添加到请求中 JSON格式的正文。否则,请将请求正文留空。
那些矛盾。
尽管如此,将json正文发送到/upload
:只设置'name'属性。
将相同的json正文发送到元数据请求会得到:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "wrongUrlForUpload",
"message": "Upload requests must include an uploadType URL parameter and a URL path beginning with /upload/",
...
谢谢! :)
编辑:这主要是将该文件分配给它所属的任何人并验证哈希,我可以使用图像的name
完全解决这个问题。
答案 0 :(得分:3)
要通过JSON API在对象上传中设置自定义元数据,请使用以下类型的邮件正文:
{"name": "myObject", "metadata": {"foo": "bar"}}