Dans Google Photos, vous pouvez organiser vos photos et autres éléments multimédias dans des albums. Un élément multimédia peut être associé à un ou plusieurs albums. Pour commencer à associer des éléments multimédias à un album, vous devez d'abord créer l'album.
Champs d'application d'autorisation requis
La création d'albums nécessite l'étendue photoslibrary.appendonly
.
Pour modifier le titre ou la photo de couverture d'un album après sa création, vous devez utiliser le champ d'application photoslibrary.edit.appcreateddata
.
Pour en savoir plus sur les champs d'application, consultez la section Champs d'application d'autorisation.
Créer un album
Pour créer un album, appelez albums.create
et incluez title
. Notez que title
est limité à 500 caractères.
L'appel renvoie un album. Votre application peut stocker l'ID de l'album à partir de ces informations et l'utiliser pour importer des éléments multimédias dans l'album spécifique.
REST
Voici un en-tête pour une requête POST :
POST https://photoslibrary.googleapis.com/v1/albums Content-type: application/json Authorization: Bearer oauth2-token
Le corps de la requête se présente comme suit :
{ "album": { "title": "new-album-title" } }
Si l'opération réussit, la réponse renvoie un album :
{ "productUrl": "album-product-url", "id": "album-id", "title": "album-title", "isWriteable": "whether-you-can-write-to-this-album" }
Récupérer les détails de l'album
Pour récupérer les détails d'un album existant créé par votre application, appelez albums.get
et incluez le albumId
de l'album que vous souhaitez récupérer.
L'appel renvoie un album.
REST
Voici un en-tête pour une requête GET :
GET https://photoslibrary.googleapis.com/v1/albums/{albumId} Content-type: application/json Authorization: Bearer oauth2-token
Le corps de la requête se présente comme suit :
{ "albumId": album-id }
Si l'opération réussit, la réponse renvoie un album :
{ "id": album-id, "title": album-title, "productUrl": album-product-url, "mediaItemsCount": media-items-count, "coverPhotoBaseUrl": cover-photo-base-url, "coverPhotoMediaItemId": cover-photo-media-item-id }
Modifier les titres et les photos de couverture des albums
Pour modifier le titre ou la photo de couverture d'un album, créez une album update
call
avec l'identifiant de l'album, puis incluez le nouveau titre ou l'ID de l'élément multimédia de la nouvelle photo de couverture dans la requête. Vous devez utiliser la autorisation photoslibrary.edit.appcreateddata
pour effectuer la modification.
Les titres d'album ne doivent pas dépasser 500 caractères. Les éléments multimédias de couverture doivent appartenir au propriétaire de l'album et faire partie de l'album dont ils serviront de couverture.
REST
Voici un en-tête de requête PATCH permettant de mettre à jour les title
et coverPhotomediaItemId
d'un album.
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
Cette requête détermine les propriétés mises à jour en incluant un masque de champ, indiqué par les paramètres updateMask
de l'URL. Le paramètre updateMask
doit être transmis pour chaque propriété d'album mise à jour.
Pour chaque propriété que vous mettez à jour, incluez ses détails dans le corps de la requête:
{ "title": "new-album-title", "coverPhotoMediaItemId": "new-cover-media-item-id" }
Si l'opération réussit, la réponse renvoie les informations album
mises à jour :
{ "id": "album-id", "title": "new-album-title", "productUrl": "album-product-url", "isWriteable": "true-if-user-can-write-to-this-album", "mediaItemsCount": "number-of-media-items-in-album", "coverPhotoBaseUrl": "cover-photo-base-url_use-only-with-parameters", "coverPhotoMediaItemId": "new-cover-media-item-id" }
Ajouter des éléments multimédias à un album
Vous pouvez ajouter des éléments multimédias créés par votre application à des albums créés par votre application en appelant albums.batchAddMediaItems
.
Les éléments multimédias sont ajoutés à la fin de l'album dans l'ordre indiqué dans cet appel.
L'ensemble de la requête échoue si un élément multimédia ou un album non valide est spécifié. Le succès partiel n'est pas accepté.
Chaque album peut contenir jusqu'à 20 000 éléments multimédias. Les requêtes d'ajout d'éléments qui dépasseraient cette limite échoueront.
Pour ajouter des éléments multimédias à un album, appelez albums.batchAddMediaItems
avec les identifiants des éléments multimédias et de l'album.
REST
Voici un en-tête pour une requête POST :
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems Content-type: application/json Authorization: Bearer oauth2-token
Le corps de la requête se présente comme suit:
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
Si la requête aboutit, la réponse renvoie une réponse JSON vide et l'état HTTP "Success".
Supprimer des éléments multimédias d'un album
Vous pouvez supprimer des éléments multimédias créés par votre application dans des albums créés par votre application en appelant albums.batchRemoveMediaItems
.
La demande échouera si des éléments multimédias non valides sont spécifiés. Le succès partiel n'est pas accepté.
Pour supprimer des éléments multimédias d'un album, appelez albums.batchRemoveMediaItems
avec les identifiants des éléments multimédias et de l'album.
REST
Voici un en-tête pour une requête POST :
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems Content-type: application/json Authorization: Bearer oauth2-token
Le corps de la requête se présente comme suit:
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
Si la requête aboutit, la réponse renvoie une réponse JSON vide et l'état HTTP "Success".
Java
try { // List of media item IDs to remove List<String> mediaItemIds = Arrays .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"); // ID of the album to remove media items from String albumId = "ALBUM_ID"; // Remove all given media items from the album photosLibraryClient.batchRemoveMediaItemsFromAlbum(albumId, mediaItemIds); } catch (ApiException e) { // An exception is thrown if the media items could not be removed }
PHP
try { // List of media item IDs to remove $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"]; // ID of the album to remove media items from $albumId = "ALBUM_ID"; // Remove all given media items from the album $response = $photosLibraryClient->batchRemoveMediaItemsFromAlbum($albumId, $mediaItemIds); } catch (\Google\ApiCore\ApiException $e) { // Handle Error }