Доступ к JSON в корзине через ключ API - PullRequest
0 голосов
/ 19 мая 2019

Я создал корзину в Google Cloud, которая содержит один файл JSON.Я хочу получить доступ к этому JSON через некоторую основную форму аутентификации, такую ​​как ключ API

. Я создал ключ API в облаке Google без ограничений

Когда я пытаюсь выполнить запрос GET, используя мойКлюч API, в задокументированном формате, например:

https://storage.googleapis.com/BUCKETNAME/JSONNAME?API_KEY=APIKEYNAME

Возвращает следующее

"Анонимный вызывающий не имеет доступа storage.objects.get к ведру"

Я не уверен, почему, так как я посылаю ключ API

В качестве альтернативы, если я сделаю файл bucket / JSON" открытым ", я могу легко получить доступ к JSON черезследующий URL:

https://storage.googleapis.com/BUCKETNAME/JSONNAME

Хотя я не хочу оставлять его полностью открытым ..

Могу ли я здесь что-нибудь сделать?Я хотел бы, чтобы для доступа к JSON требовался базовый ключ (либо в заголовке, либо в URL) * Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 мая 2019

Нет, вы не можете использовать базовый ключ для доступа к файлу в private корзине Google Cloud Storage.
Существует два варианта доступа к файлу в приватной корзине.

  1. Используйте REST-API Google Cloud Storage.
    Для выдачи запроса требуется AccessToken (OAuth2.0).
    Обязательно настройте IAM или ACL для доступа к корзине.
  2. Используйте подписанный URL для доступа к файлу. Подписанный URL - это недолговечный URL, который позволяет загружать / выгружать файл.

1. Загрузка объекта в Google Cloud Storage.
2. Подпись URL для доступа к файлу в вашей программе.

0 голосов
/ 19 мая 2019

В соответствии с документацией по ключам API :

После получения ключа API приложение может добавить параметр параметра key = yourAPIKey ко всем URL-адресам запроса.

В своем вопросе вы сказали, что передаете ключ API с параметром «API_KEY», но в документации сказано использовать «ключ».

...