Lister et récupérer des éléments multimédias

Une fois qu'un utilisateur a sélectionné des éléments multimédias à l'aide de l'API Picker, vous pouvez récupérer des informations à leur sujet et accéder à leur contenu. Ce guide décrit le processus de liste et de récupération des éléments multimédias.

Avant de commencer

  • Comprendre le flux:consultez Premiers pas avec l'API Picker pour obtenir une présentation de l'ensemble du processus de sélection des photos.
  • Sélection complète des éléments multimédias:assurez-vous que l'utilisateur a bien sélectionné des éléments multimédias dans sa session. Pour en savoir plus, consultez le guide sur les sessions.
  • Consulter les champs d'application d'autorisation requis: l'utilisation des sessions nécessite le champ d'application photospicker.mediaitems.readonly. Pour en savoir plus sur les champs d'application, consultez la section Champs d'application d'autorisation.

Lister les éléments multimédias sélectionnés

  1. Utilisez le point de terminaison mediaItems.list: envoyez une requête GET à https://photospicker.googleapis.com/v1/mediaItems en fournissant sessionId comme paramètre de requête.

  2. Gérer la pagination (si nécessaire):

    Si l'utilisateur sélectionne un grand nombre d'éléments, la réponse peut être paginée. Utilisez nextPageToken dans la réponse pour récupérer les pages de résultats suivantes.

  3. Traitez les éléments multimédias: la réponse contiendra un tableau d'objets PickedMediaItem, chacun représentant un élément multimédia sélectionné. Ces objets incluent des informations essentielles telles que:

    • id: identifiant unique de l'élément multimédia.
    • baseUrl: URL de base à partir de laquelle vous pouvez créer des URL pour accéder au contenu de l'élément multimédia à différentes résolutions.
    • mimeType: type MIME de l'élément multimédia (par exemple, image/jpeg, vidéo/mp4).

Récupérer les éléments multimédias sélectionnés

Assurez-vous de disposer d'un jeton d'accès OAuth 2.0 valide avec le champ d'application https://www.googleapis.com/auth/photospicker.mediaitems.readonly pour autoriser vos requêtes.

  • Créez l'URL du contenu:utilisez le baseUrl de l'objet PickedMediaItem. Ajoutez la résolution ou le format de fichier à la baseUrl. Pour en savoir plus, consultez la section sur les URL de base.

  • Récupérez le contenu:envoyez une requête GET à l'URL de base de l'élément multimédia. La réponse contient les octets de l'élément multimédia (image ou vidéo). Plusieurs options de baseURL sont disponibles.

URL de base

Les URL de base des API Google Photos permettent d'accéder aux octets bruts des éléments multimédias, ce qui permet à votre application de les télécharger ou de les afficher. Ces URL sont incluses dans les réponses lorsque vous listez des albums (API Library) ou accédez à des éléments multimédias (API Library et Picker). N'oubliez pas que les URL de base nécessitent des paramètres supplémentaires pour fonctionner correctement.

Pour l'API Picker:

Tous les objets PickedMediaItem.mediaFile incluent un baseUrl.

Les URL de base restent actives pendant 60 minutes, mais peuvent expirer plus tôt si l'utilisateur révoque les autorisations de votre application dans les paramètres de son compte Google.

Pour l'API Library:

Les URL de base restent actives pendant 60 minutes.

Voici les différentes URL de base:

  • baseUrl: accédez directement à une photo, à une vignette de vidéo ou téléchargez des octets de vidéo.
  • coverPhotoBaseUrl: accéder directement à la photo de couverture de l'album.
  • profilePictureBaseUrl: accéder directement à la photo de profil du propriétaire d'un mediaItem.

URL de base des images

Voici la liste des options que vous pouvez utiliser avec les URL de base des images:

Paramètre
w, h

Description

Paramètres de largeur, w et de hauteur, h.

Pour accéder à un élément multimédia image, comme une photo ou une vignette de vidéo, vous devez spécifier les dimensions que vous prévoyez d'afficher dans votre application (afin que l'image puisse être redimensionnée selon ces dimensions tout en conservant le format). Pour ce faire, concaténez l'URL de base avec les dimensions requises, comme indiqué dans les exemples.

Exemples :

base-url=wmax-width-hmax-height

Voici un exemple d'affichage d'un élément multimédia dont la largeur ne doit pas dépasser 2 048 px et la hauteur 1 024 px:

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

Description

Paramètre de recadrage c.

Si vous souhaitez recadrer l'image aux dimensions de largeur et de hauteur exactes que vous avez spécifiées, concatenatez l'URL de base avec le paramètre -c facultatif, ainsi que les paramètres w et h obligatoires.

La taille (en pixels) doit être comprise entre 1 et 16 383. Si la largeur ou la hauteur de l'image dépasse la taille demandée, l'image est réduite et recadrée (en conservant le format).

Exemples :

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

Dans cet exemple, l'application affiche un élément multimédia de 256 x 256 pixels, comme une vignette:

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

Description

Paramètre de téléchargement, d.

Si vous souhaitez télécharger l'image en conservant toutes les métadonnées Exif, à l'exception des métadonnées de localisation, concatenatez l'URL de base avec le paramètre d.

Exemples :

base-url=d

Dans cet exemple, l'application télécharge une image avec toutes les métadonnées, à l'exception des métadonnées de localisation:

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

URL de base des vidéos

Voici la liste des options que vous pouvez utiliser avec les URL de base des vidéos:

Paramètre
dv

Description

Pour accéder aux octets d'un mediaItem vidéo, concatenatez le baseUrl avec le paramètre dv de la vidéo à télécharger.

Le paramètre dv demande une version transcodée de haute qualité de la vidéo d'origine. Le paramètre n'est pas compatible avec les paramètres w et h.

Le retour d'octets pour les URL de base des téléchargements de vidéos peut prendre jusqu'à quelques secondes.

Avant d'utiliser ce paramètre, vérifiez que le champ mediaMetadata.status des éléments multimédias est READY. Sinon, si le traitement de votre élément multimédia n'est pas terminé, vous risquez de recevoir un message d'erreur.

Exemples :

base-url=dv

L'exemple suivant montre comment télécharger les octets d'une vidéo:

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

Description

Pour accéder à la vignette de la vidéo, utilisez l'un des paramètres d'URL de base d'image.

Par défaut, toutes les miniatures de vidéos incluent un bouton de lecture superposé. Consultez le paramètre -no pour supprimer cette superposition.

Exemples :

Pour obtenir des exemples, consultez le tableau des URL de base des images.

no

Description

Paramètre no pour supprimer la superposition de la vignette.

Si vous souhaitez récupérer la vignette d'une vidéo sans la superposition d'un bouton de lecture, concatenatez l'URL de base avec le paramètre no.

Le paramètre no doit être utilisé avec au moins l'un des paramètres d'URL de base de l'image.

Exemples :

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

L'exemple suivant affiche une vignette vidéo de 1 280 x 720 pixels exactement, sans superposition de bouton de lecture:

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

URL de base des photos animées

Les photos animées contiennent à la fois des éléments photo et vidéo. Vous pouvez utiliser des paramètres à partir des URL de base d'image ou des URL de base de vidéo pour les requêtes baseUrl de photo animée.

Paramètre
dv

Description

Pour récupérer l'élément vidéo d'un élément multimédia photo animée, utilisez le paramètre dv comme pour le téléchargement à partir d'URL de base vidéo.

w, h, c et d

Description

Pour récupérer l'élément photo d'un élément multimédia photo animée, utilisez le format des URL de base des images.