Облачное хранилище Google: отображение частного изображения на HTML-странице

Я использую Google Cloud Storage для медиа. Мой сайт хранится в другом месте. Я просто хочу разместить изображение на своем веб-сайте, не публикуя его. Я пытался отобразить это изображение так:

  • создать ключ API для браузера, ограниченного моим веб-сайтом (ключ API для http: //*.example.com)
  • показать изображение на этом сайте <img src="https://www.googleapis.com/storage/v1/b/MY_BUKET/o/MY_MEDIA.jpg?key=MY_KEY" />
  • Я вижу в консоли Chrome: … «код»: 401, «сообщение»: «Требуется вход в систему» …

Я не понимаю, что я пропустил, если я прочитал документ из Google, я потерял: Я просто хочу отобразить изображение с низким уровнем безопасности (но не для общего доступа), не управляйте своими медиа из моего приложения PHP.

Я могу использовать google-api-php-client (мой сайт на PHP), но я не знаю, имею ли я какое-то отношение к этому, чтобы заставить его работать. Я не знаю с чего начать …

Спасибо ! (Надеюсь, это достаточно понятно)

РЕДАКТИРОВАТЬ: Я не нашел ни одного простого примера кода для рендеринга частного медиа в HTML с помощью google-api-php-client; я потерялся

0

Решение

Параметр «key =» не назначает никаких разрешений. Это менее безопасный идентификатор, который используется для того, чтобы сообщить Google, какой проект должен быть выставлен за этот анонимный входящий звонок. Это не даст вам доступ к объектам, которые не являются общедоступными.

Единственный способ вставить непубличное изображение на веб-страницу — это создать подписанный URL-адрес при запросе HTML-страницы. Увидеть https://cloud.google.com/storage/docs/accesscontrol#Signed-URLs для инструкций по их генерации.

2

Другие решения

Если ваше приложение размещено на движке приложения, вы можете использовать CloudStorageTools :: служат () функция для возврата изображения в результате HTTP-запроса и добавления любого контроля доступа, который вы хотите.

1

По вопросам рекламы [email protected]