Gérer les albums

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 l'association d'éléments multimédias avec un album, vous devez d'abord créer l'album.

Champs d'application d'autorisation requis

Le champ d'application photoslibrary.appendonly est requis pour créer des albums.

Pour modifier le titre ou la photo de couverture des albums après leur création, vous devez utiliser photoslibrary.edit.appcreateddata.

Pour en savoir plus sur les champs d'application, consultez la section Autorisation champs d'application.

Créer un album

Pour créer un album, appelez albums.create et inclure 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 contenus multimédias éléments dans l'album concerné.

REST

Voici l'en-tête d'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 la requête aboutit, la réponse renvoie une 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 d'un 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 l'en-tête d'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 la requête aboutit, la réponse renvoie une 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 le photoslibrary.edit.appcreateddata permission pour effectuer la modification.

Les titres d'album ne doivent pas dépasser 500 caractères. Couverture d'éléments multimédias doivent appartenir au propriétaire de l'album et faire partie de l'album : une couverture est utilisée .

REST

Voici un en-tête de requête PATCH permettant de mettre à jour le title d'un album et coverPhotomediaItemId

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 dans l'URL. Le paramètre updateMask doit être transmis pour chaque de l'album en cours de mise à jour.

Pour chaque propriété que vous mettez à jour, incluez ses informations dans le corps de la requête :

{
  "title": "new-album-title",
  "coverPhotoMediaItemId": "new-cover-media-item-id"
}

Si la requête aboutit, la réponse renvoie le album mis à jour. détails:

{
  "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'intégralité de la requête échoue si un élément multimédia ou un album spécifié n'est pas valide. Les succès partiels ne sont pas acceptés.

Chaque album peut contenir jusqu'à 20 000 éléments multimédias. Les demandes d'ajout d'éléments au-delà de cette limite échouera.

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 l'en-tête d'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 le code État de réussite.

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. Partiellement succès n'est pas pris en charge.

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 l'en-tête d'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
}