Получение списка и получение медиа-элементов

После того как пользователь выбрал элементы мультимедиа с помощью API Picker, вы можете получить информацию о них и получить доступ к их содержимому. В этом руководстве описывается процесс перечисления и извлечения мультимедийных элементов.

Прежде чем начать

  • Понимание процесса: просмотрите начало работы с API Picker, чтобы получить обзор всего процесса выбора фотографий.
  • Полный выбор элемента мультимедиа. Убедитесь, что пользователь успешно выбрал элементы мультимедиа в своем сеансе. Более подробную информацию можно найти в руководстве по сеансам .
  • Просмотрите необходимые области авторизации . Для работы с сеансами требуется область photospicker.mediaitems.readonly . Дополнительные сведения об областях см. в разделе Области авторизации .

Список выбранных медиа-элементов

  1. Используйте конечную точку mediaItems.list : сделайте запрос GET к https://photospicker.googleapis.com/v1/mediaItems, указав sessionId в качестве параметра запроса.

  2. Обработка нумерации страниц (при необходимости):

    Если пользователь выбирает большое количество элементов, ответ может быть разбит на страницы. Используйте nextPageToken в ответе, чтобы получить последующие страницы результатов.

  3. Обработка элементов мультимедиа: ответ будет содержать массив объектов PickedMediaItem , каждый из которых представляет выбранный элемент мультимедиа. Эти объекты включают в себя такие важные детали, как:

    • id : уникальный идентификатор элемента мультимедиа.
    • baseUrl : базовый URL-адрес, на основе которого вы можете создавать URL-адреса для доступа к содержимому элемента мультимедиа в различных разрешениях.
    • mimeType : MIME-тип медиа-элемента (например, изображение/jpeg, видео/mp4).

Получить выбранные медиа-элементы

Убедитесь, что у вас есть действительный токен доступа OAuth 2.0 с областью действия https://www.googleapis.com/auth/photospicker.mediaitems.readonly для авторизации ваших запросов.

  • Создайте URL-адрес содержимого: используйте baseUrl из объекта PickedMediaItem . Добавьте разрешение или формат файла в baseUrl. Более подробную информацию см. в разделе о базовых URL-адресах .

  • Получение содержимого. Сделайте запрос GET к базовому URL-адресу элемента мультимедиа. Ответ будет содержать байты медиа-элемента (изображения или видео). Доступно несколько различных вариантов baseURL .

Базовые URL-адреса

Базовые URL-адреса в API Google Фото предоставляют доступ к необработанным байтам мультимедийных элементов, позволяя вашему приложению загружать или отображать их. Эти URL-адреса включаются в ответы при перечислении альбомов (API библиотеки) или доступе к элементам мультимедиа (API библиотеки и выбора). Помните, что для правильной работы базовых URL-адресов требуются дополнительные параметры.

Для API Picker:

Все объекты PickedMediaItem.mediaFile включают baseUrl .

Базовые URL-адреса остаются активными в течение 60 минут, но срок их действия может истечь раньше, если пользователь отзовет разрешения вашего приложения через настройки своего аккаунта Google.

Для API библиотеки:

Базовые URL-адреса остаются активными в течение 60 минут.

Различные базовые URL-адреса:

  • baseUrl : прямой доступ к фотографии, миниатюре видео или загрузка байтов видео.
  • coverPhotoBaseUrl : прямой доступ к обложке альбома.
  • profilePictureBaseUrl : прямой доступ к фотографии профиля владельца mediaItem .

Базовые URL-адреса изображений

Вот список опций, которые вы можете использовать с URL-адресами базовых изображений:

Параметр
w , h

Описание

Параметры ширины, w и высоты, h .

Чтобы получить доступ к элементу мультимедиа изображения, например фотографии или миниатюре видео, необходимо указать размеры, которые вы планируете отображать в своем приложении (чтобы изображение можно было масштабировать до этих размеров, сохраняя при этом соотношение сторон). Для этого объедините базовый URL-адрес с необходимыми размерами, как показано в примерах.

Примеры:

base-url=wmax-width-hmax-height

Вот пример отображения элемента мультимедиа шириной не более 2048 пикселей и высотой не более 1024 пикселей:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

Описание

Обрезка, параметр c .

Если вы хотите обрезать изображение до точно указанных вами размеров ширины и высоты, объедините базовый URL-адрес с необязательным параметром -c вместе с обязательными параметрами w и h .

Размер (в пикселях) должен находиться в диапазоне [1, 16383]. Если ширина или высота изображения превышает запрошенный размер, изображение уменьшается и обрезается (с сохранением соотношения сторон).

Примеры:

base-url=wmax-width-hmax-height-c

В этом примере приложение отображает мультимедийный элемент шириной ровно 256 пикселей и высотой 256 пикселей, например миниатюру:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

Описание

Параметр загрузки, d .

Если вы хотите загрузить изображение, сохранив все метаданные Exif, кроме метаданных местоположения, объедините базовый URL-адрес с параметром d .

Примеры:

base-url=d

В этом примере приложение загружает изображение со всеми метаданными, кроме метаданных местоположения:

https://lh3.googleusercontent.com/p/Az....XabC=d

Базовые URL-адреса видео

Вот список опций, которые вы можете использовать с URL-адресами базы видео:

Параметр
dv

Описание

Чтобы получить доступ к байтам видео mediaItem , объедините baseUrl с параметром dv для загрузки видео.

Параметр dv запрашивает высококачественную перекодированную версию исходного видео. Параметр несовместим с параметрами w и h .

Базовые URL-адреса для загрузки видео могут возвращать байты в течение нескольких секунд.

Прежде чем использовать этот параметр, убедитесь, что поле mediaMetadata.status элемента мультимедиа имеет READY . В противном случае, если обработка вашего медиа-элемента не завершилась, вы можете получить сообщение об ошибке.

Примеры:

base-url=dv

В следующем примере показано, как загрузить байты видео:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w , h , c и d

Описание

Для доступа к миниатюре видео используйте любой из параметров URL-адреса базы изображения .

По умолчанию все миниатюры видео содержат наложение кнопки воспроизведения. См. параметр -no , чтобы удалить это наложение.

Примеры:

Примеры см. в таблице базовых URL-адресов изображений .

no

Описание

Удаление наложения миниатюр, no параметра.

Если вы хотите получить миниатюру видео без наложения кнопки воспроизведения, объедините базовый URL-адрес с параметром no .

Параметр no должен использоваться хотя бы с одним из параметров URL-адреса базы изображения .

Примеры:

base-url=wmax-width-hmax-height-no

В следующем примере отображается миниатюра видео шириной ровно 1280 пикселей и высотой 720 пикселей без наложения кнопки воспроизведения:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

Базовые URL-адреса движущихся фотографий

Анимированные фотографии содержат как фото, так и видеоэлементы. Вы можете использовать параметры из базовых URL-адресов изображений или базовых URL-адресов видео для запросов baseUrl движущихся фотографий.

Параметр
dv

Описание

Чтобы получить элемент видео из медиа-элемента движущейся фотографии, используйте параметр dv так же, как при загрузке с базовых URL-адресов видео .

w , h , c и d

Описание

Чтобы получить элемент фотографии из медиа-элемента движущейся фотографии, используйте формат базовых URL-адресов изображений .