Можно ли отобразить фотографию пользователя G Suite с помощью только thumbnailPhotoUrl? - PullRequest
0 голосов
/ 01 мая 2019

Вопрос

Может ли веб-приложение отображать изображение профиля пользователя G Suite, используя только thumbnailPhotoUrl, или это необходимо для сохранения и обслуживания изображения?

Контекст

В этом руководстве описано, как получить изображение из Справочника API. Но я не уверен, как перейти от запроса get к файлу изображения, который я могу отобразить. Упоминается библиотека Closure , используемая для кодирования / декодирования Base64.

Я хотел бы использовать ссылку на изображение, чтобы использовать в качестве src элемента img.

Что я пробовал

Облачная функция Firebase, использующая служебную учетную запись с делегированием по всему домену, получает пользовательские данные через https://www.googleapis.com/admin/directory/v1/users. Это возвращает thumbnailPhotoUrl, и я могу вставить URL-адрес в Chrome и просмотреть изображение. Если я поделюсь thumbnailPhotoUrl с кем-то еще, они не увидят изображение, а вместо этого увидят заполнитель силуэта.

Примечание: thumbnailPhotoUrl включает /private как это:

https://www.google.com/s2/photos/private/xyz123...

Это подсказка, что этот URL не будет работать в веб-приложении для отображения изображения?

1 Ответ

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

Вы можете встроить содержимое URL прямо в ваш HTML-документ.Выглядит это так:

<img width="16" height="16" alt="star" src="data:image/gif;base64,R0lGODlhEAAQAMQAAORHHOVSKudfOulrSOp3WOyDZu6QdvCchPGolfO0o/XBs/fNwfjZ0frl3/zy7////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAkAABAALAAAAAAQABAAAAVVICSOZGlCQAosJ6mu7fiyZeKqNKToQGDsM8hBADgUXoGAiqhSvp5QAnQKGIgUhwFUYLCVDFCrKUE1lBavAViFIDlTImbKC5Gm2hB0SlBCBMQiB0UjIQA7" />

Волшебная часть - брать двоичные данные изображения и кодировать их в base-64 для тега img.

Формат приведенного выше примера:

data:[<mime type>][;charset=<charset>][;base64],<encoded data>

Эта ссылка содержит более подробную информацию и показывает, как это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...