Google cloud storage 尝试复制对象并设置ACL失败
使用完全控制访问并作为bucket和object的所有者,请求的形式如下:Google cloud storage 尝试复制对象并设置ACL失败,google-cloud-storage,Google Cloud Storage,使用完全控制访问并作为bucket和object的所有者,请求的形式如下: POST https://www.googleapis.com/storage/v1beta2/b/mybucket/o/myobject/copyTo/b/mybucket/o/copiedobject?key={YOUR_API_KEY} Content-Type: application/json X-JavaScript-User-Agent: Google APIs Explorer { "ac
POST https://www.googleapis.com/storage/v1beta2/b/mybucket/o/myobject/copyTo/b/mybucket/o/copiedobject?key={YOUR_API_KEY}
Content-Type: application/json
X-JavaScript-User-Agent: Google APIs Explorer
{
"acl": [
{
"role": "READER",
"entity": "allUsers"
}
]
}
失败,响应如下:
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Required"
}
],
"code": 400,
"message": "Required"
}
}
上载具有相同ACL的新对象有效。在不设置ACL的情况下复制对象,然后添加ACL也可以
问题出在my end还是API上?因为复制操作使用POST(而不是修补程序),如果提供任何元数据值,则必须为目标对象提供有效的对象资源。这意味着您发送的对象资源需要包括所有必需的字段,即使您没有从源更改它们 不幸的是,文档不清楚哪些字段是必需的,错误消息也没有帮助 尝试在ACL之外填充“名称”、“bucket”和“contentType”字段,它应该可以工作。“contentType”完成了。谢谢