Я новичок в Google Cloud. Я хочу загрузить изображение в мое ведро.
Я сделал это успешно с консоли GCP и оболочки GCP. Однако я не могу сделать это с помощью REST Endpoint с помощью API-KEY.
Вот мой URL.
https://www.googleapis.com/upload/storage/v1/b/[MY_BUCKET]/o?uploadType=media&name=myhero&key=[MY_API-KEY]
Я получаю следующее сообщение
{
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Anonymous caller does not have storage.objects.create access to [MY_BUCKET]/myhero.",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Anonymous caller does not have storage.objects.create access to [MY_BUCKET]/myhero."
}
}
Это связано с тем, что корзина в настоящее время не позволяет каким-либо образом разрешать пользователям API-ключ, даже если API-ключ позволяет пользователю этого ключа загружать объект в корзину.
Что мне делать
1) если я хочу пойти по API-ключу способом.
2) если я хочу пойти с сервис-аккаунта способом. Каков наилучший способ создания токена авторизации? Я дошел до этого момента
{"alg":"RS256","typ":"JWT"}.
{
"iss":"761326798069-r5mljlln1rd4lrbhg75efgigp36m78j5@developer.gserviceaccount.com",
"scope":"https://www.googleapis.com/auth/prediction",
"aud":"https://www.googleapis.com/oauth2/v4/token",
"exp":1328554385,
"iat":1328550785
}.
Но я не могу сгенерировать {закодированную подпись Base64url}, так как не могу выяснить закрытый и открытый ключи ...