2014-11-26 2 views
0

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

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

Я не понимаю, что я пропустил, если я прочитал документ из google Я потерян: Я просто хочу показать изображение с низкой степенью безопасности (но не публичным), а не маной ge my media из моего приложения PHP.

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

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

EDIT: Я не нашел простой пример кода для визуализации частного носителя в HTML с помощью google-api-php-client; Я потерян

ответ

2

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

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

+0

Хорошо, спасибо за разъяснение и ссылку, +1. Я не понимаю: я не нашел таких ресурсов, как «это 3 строки кода, необходимые для отображения ссылки без публичного изображения в PHP с помощью google-api-php-client» :)! Может быть, этот пост может стать источником этой информации, если мы будем работать вместе;), спасибо. –

1

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

+0

Спасибо, но, к сожалению, мое приложение не хранится в приложении. –

Смежные вопросы