Я пытаюсь загрузить файл .jpeg
в облачную хранилище Google, но мой запрос не выполняется со следующей ошибкой 401.Ошибка 401, причина: анонимные пользователи не имеют storage.objects.create доступ к bucket
{
"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 Да, я установил это со значением «bucket-owner-writer», но он все еще не работает. – MKB