我试图上传.jpeg
文件到谷歌云存储,但我的请求失败,出现以下401错误。获取401错误,原因:匿名用户没有storage.objects.create访问存储桶
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Anonymous users does not have storage.objects.create access to bucket XXXtest.",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Anonymous users does not have storage.objects.create access to bucket XXXtest."
}
}
我的POST请求看起来像这样。
<form id="upload_image_form" class="" action="https://www.googleapis.com/upload/storage/v1/b/XXXtest/o?uploadType=media&name=myObject" method="post" enctype="multipart/form-data">
<input id="image" name="image" type="file" accept="image/x-png, image/jpeg, image/png" onchange="">
<input type="hidden" name="Content-Type" value="image/jpeg">
<input type="hidden" name="name" value="my_name">
<input type="hidden" name="Accept" value="application/json, text/json, text/x-json, text/javascript">
<input type="hidden" name="host" value="www.googleapis.com">
<input type="hidden" name="Transfer-Encoding" value="chunked">
<input type="hidden" name="Authorization" value="<?php echo 'Bearer'.' '.$_SESSION['access_token']['access_token']; ?>">
<input type="hidden" name="Expect" value="100-continue">
<input type="hidden" name="Accept-Encoding" value="gzip, deflate">
<input type="hidden" name="Connection" value="Keep-Alive">
<input type="hidden" name="acl" value="bucket-owner-writer">
<input id="upload" name="upload" value="Upload" type="submit" style="position: absolute;">
</form>
你能告诉我根据这documentation丢失了什么?
你检查/设置ACL? https://cloud.google.com/storage/docs/access-control/create-manage-lists –
哇,你真的不想这样做!您正在向表单中的最终用户传递访问令牌。这不仅不会起作用,还会使所有查看该页面的用户都可以使用该用户的凭据执行任何他们想要的操作。这就像在HTML评论中包含密码一样。 –
嗨@DanCornilescu是的我设置了价值“桶拥有者作家”,但它仍然无法正常工作。 – MKB