Champs d'application des autorisations requis
Répertorier le contenu créé par l'application nécessite l'photoslibrary.readonly.appcreateddata
le champ d'application. Pour en savoir plus sur les champs d'application, consultez la section Autorisation
champs d'application.
Présentation
L'API Library vous permet de lister et d'accéder aux éléments multimédias créés par votre application.
Voici quelques-unes des principales fonctionnalités de la fonctionnalité de mise en ligne d'éléments multimédias :
- Lister les éléments multimédias d'albums spécifiques créés par l'application ou de l'intégralité de la bibliothèque créée par l'application
Appliquer des filtres (date, catégorie de contenu, média) type) pour affiner la recherche résultats
Récupérer
mediaItem
objets contenant des détails essentiels tels que des liens directs et des métadonnées.
L'affichage du contenu de la bibliothèque et de l'album renvoie une liste d'éléments multimédias.
Enrichissements faisant partie d'un album
ne sont pas incluses. Les éléments multimédias décrivent une photo, une vidéo ou un autre contenu multimédia. A
mediaItem
inclut un lien direct vers l'élément, un lien vers l'élément dans
Google Photos et autres métadonnées pertinentes. Pour en savoir plus, consultez
accéder aux éléments multimédias et ;
mediaItems
Lister les albums créés par une application
Vous pouvez répertorier les albums qui ont été créés par votre application en utilisant
albums.list
REST
Voici un exemple de requête :
GET https://photoslibrary.googleapis.com/v1/albums
La requête renvoie le résultat suivant:
{ "albums": [ { "id": "album-id", "title": "album-title", "productUrl": "album-product-url", "coverPhotoBaseUrl": "album-cover-base-url_do-not-use-directly", "coverPhotoMediaItemId": "album-cover-media-item-id", "isWriteable": "whether-you-can-write-to-this-album", "mediaItemsCount": "number-of-media-items-in-album" }, ... ], "nextPageToken": "token-for-pagination" }
Chaque album renvoyé possède un ID qui peut être utilisé pour récupérer le contenu de album, comme indiqué dans la section Répertorier le contenu de l'album. Il inclut également le titre et le nombre d'éléments multimédias qu'il contient.
Le productUrl
pointe vers l'album dans Google Photos qui peut être un
ouvert par l'utilisateur.
coverPhotoMediaItemId
contient l'élément multimédia.
ID qui représente la couverture
photo de cet album. Pour accéder à cette image de couverture, utilisez coverPhotoBaseUrl
.
Vous ne devez pas utiliser coverPhotoBaseUrl
directement sans spécifier
paramètres supplémentaires.
La réponse contient également un nextPageToken
. Pour en savoir plus, consultez
Pagination :
La réponse pour les albums vides varie dans la mesure où mediaItemsCount
et
Les champs coverPhotoMediaItemId
sont définis sur 0 par défaut et sont omis de l'API REST
de réponse. Notez également que coverPhotoBaseUrl
pointe vers un espace réservé par défaut.
l'image.
Lister le contenu de la bibliothèque créée par l'application
Vous pouvez lister tous les éléments multimédias de la bibliothèque Google Photos de l'utilisateur créés par votre application. Cela exclut les éléments archivés et supprimés. Toi peut répertorier des éléments multimédias en fonction de leur contenu, de leur date et d'autres propriétés l'application de filtres.
Pour lister des éléments multimédias, appelez mediaItems.list
.
REST
Voici un exemple de requête :
GET https://photoslibrary.googleapis.com/v1/mediaItems
Content-type: application/json
Authorization: Bearer oauth2-token
{
"pageSize": "100",
}
La requête GET renvoie la réponse suivante:
{ "mediaItems": [ ... ], "nextPageToken": "token-for-pagination" }
La réponse contient une liste d'éléments multimédias classés du plus récent au moins récent.
Pour en savoir plus, consultez les sections sur mediaItems
Il y a aussi
contient un nextPageToken
, décrit plus en détail dans
Pagination :
Afficher le contenu d'un album
Pour lister tous les éléments multimédias d'un album, ajoutez le champ albumId
à votre requête de recherche. Pour en savoir plus sur albumId
, consultez Lister
albums. Si albumId
n'est pas valide, une erreur Bad Request
est renvoyée. Si l'ID est valide, mais que l'album n'existe pas pour l'utilisateur authentifié, une erreur Not Found
est renvoyée. Pour en savoir plus sur les erreurs
des performances,consultez les conseils sur l'amélioration des performances et
Bonnes pratiques.
REST
Voici un exemple de requête :
POST https://photoslibrary.googleapis.com/v1/mediaItems:search
Content-type: application/json
Authorization: Bearer oauth2-token
{
"pageSize": "100",
"albumId": "album-id"
}
La requête POST renvoie la réponse suivante:
{ "mediaItems": [ ... ], "nextPageToken": "token-for-pagination" }
La réponse contient un nextPageToken
et la liste des éléments multimédias. Contrairement aux cas
listant le contenu de la bibliothèque, les éléments multimédias sont renvoyés par ordre d'affichage dans le
album. Pour en savoir plus, consultez
mediaItems
et
Pagination : L'utilisateur peut modifier la commande dans le
Interface Google Photos.
Si albumId
est défini, vous ne pouvez pas appliquer de filtre lorsque vous listez le contenu d'un album.
Cela entraîne une erreur Bad Request
.
Pagination pour REST
Pour améliorer les performances, les méthodes qui renvoient un grand nombre de résultats (comme
méthodes list) peuvent paginer la réponse. Le nombre maximal de résultats dans chaque
est fournie par le paramètre pageSize
.
Pour les appels à mediaItems.search
et mediaItems.list
, la taille de page par défaut est
25 articles. Nous vous recommandons cette taille de page, car elle offre un équilibre entre la taille de la réponse et le taux de remplissage. Taille de page maximale pour l'élément multimédia
requêtes de recherche et de liste
est de 100 éléments.
Lors de la création d'une liste d'albums, la taille de page par défaut et recommandée est de 20 albums, avec une 50 albums au maximum.
Lorsque le nombre de résultats disponibles est supérieur à la taille de la page, la réponse inclut un nextPageToken
, qui indique à votre application qu'il existe d'autres résultats à extraire du serveur.
Exemple
Vous devez ajouter nextPageToken
aux requêtes ultérieures dans le paramètre pageToken
, comme illustré dans l'exemple suivant. Spécifiez les pageToken
ensemble.
avec les autres paramètres requis pour l'opération, soit dans le corps de la
une requête ou un paramètre de requête.
Demande n° 1
{ "pageSize": "5", "filters": { … } }
Réponse 1
{ "mediaItem": [ … ], "nextPageToken": "next-page-token" }
Demande n° 2
{ "pageSize": "5", "filters": { … }, "pageToken": "page-token" }
Réponse 2
{ "mediaItem": [ … ], "nextPageToken": "next-page-token" }
Continuez ainsi jusqu'à ce qu'il n'y ait plus d'objets nextPageToken
.
Le champ nextPageToken
n'est valide que pour la même requête. Si des paramètres sont
modifié, un élément nextPageToken
précédemment utilisé ne doit pas être utilisé dans le même
requête.