Les enrichissements permettent à votre application de contrôler la structure et la présentation des photos dans un album de Google Photos. Ils vous permettent de fournir à l'utilisateur un contexte supplémentaire via des annotations de texte ou de lieu, et d'organiser/grouper des images qui racontent une histoire ensemble.
Champ d'application de l'autorisation requis
L'ajout d'enrichissements aux albums créés par l'application nécessite le champ d'application photoslibrary.appendonly
. Pour en savoir plus sur les champs d'application, consultez la section Champs d'application des autorisations.
Types d'enrichissements
Google Photos accepte trois types d'enrichissements dans les albums : le texte, les lieux et les cartes.
Enrichissements de texte
Une optimisation de texte est une chaîne de texte brut qui peut être insérée pour annoter l'album.
Enrichissements de localisation
Une amélioration de la localisation est constituée d'un repère et du nom du lieu, que vous pouvez insérer pour annoter un lieu.
Enrichissements de la carte
Un enrichissement de carte est une carte avec un point de départ et une destination spécifiés qui peut être insérée dans l'album.
Positions
Pour insérer des éléments multimédias et des enrichissements d'albums, spécifiez la position de l'album. Une position est facultative pour les éléments multimédias, mais elle doit être spécifiée pour l'enrichissement des albums.
Une position ne peut être spécifiée que lors de la création d'un élément multimédia ou de l'ajout d'enrichissements. Les éléments multimédias existants d'un album ne peuvent pas être réorganisés. Il est donc important de définir la position d'un élément lorsqu'il est ajouté.
Début de l'album
Vous pouvez ajouter un élément multimédia/d'enrichissement au début de l'album en tant que positionnement absolu.
Fin de l'album
Vous pouvez ajouter un élément multimédia/d'enrichissement à la fin de l'album en tant que positionnement absolu.
Par rapport à l'élément multimédia
Un élément multimédia/d'enrichissement peut être ajouté par rapport à un élément multimédia commençant après sa position dans l'album.
Par rapport à l'élément d'enrichissement
Un élément multimédia/d'enrichissement peut être ajouté par rapport à un élément d'enrichissement commençant après sa position dans l'album.
Ajouter des enrichissements à un album
Les enrichissements sont ajoutés un par un et doivent être ajoutés à une position dans un album.
Pour ajouter des enrichissements à un album, appelez albums.addEnrichment
.
Si la requête aboutit, elle renvoie l'identifiant id
de l'élément d'enrichissement, qui peut être utilisé pour positionner des éléments multimédias ou d'autres éléments d'enrichissement.
REST
Voici une requête POST :
POST https://photoslibrary.googleapis.com/v1/albums/album-id:addEnrichment Content-type: application/json Authorization: Bearer oauth2-token request-body
Le corps de la requête comprend l'élément d'enrichissement et sa position :
{ "newEnrichmentItem": { enrichment-to-be-added }, "albumPosition": { position-of-enrichment }
Voici un exemple de réponse :
{ "enrichmentItem": { "id": "enrichment-item-id", } }
Enrichissements acceptés
Enrichissements de texte
Les enrichissements de texte contiennent une seule chaîne de texte (pas plus de 1 000 caractères), comme illustré dans l'exemple suivant :
REST
{ "text": "Text to be shown" }
Java
// Use the NewEnrichmentItemFactory helper to create a text enrichment item NewEnrichmentItem newEnrichmentItem = NewEnrichmentItemFactory.createTextEnrichment("text to be shown");
PHP
$newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithText("text to be shown");
Enrichissements de localisation
Les enrichissements de lieu consistent en un nom de lieu arbitraire, ainsi que des coordonnées de latitude et de longitude. Le locationName
est limité à 500 caractères.
REST
{ "location": { "locationName": "Australia", "latlng": { "latitude": "-21.197", "longitude": "95.821" } } }
Java
// Use the NewEnrichmentItemFactory helper to create a location enrichment // with the name, latitude, and longitude of the location NewEnrichmentItem newEnrichmentItem = NewEnrichmentItemFactory.createLocationEnrichment("Australia", -21.197, 95.821);
PHP
// Create a new location object and set the name, latitude, and longitude of the location $newLocation = new Location(); $newLocation->setLocationName("Australia"); $newLocation->setLatlng((new LatLng())->setLatitude(-21.197)->setLongitude(95.821)); $newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithLocation($newLocation);
Enricissements de la carte
Les enrichissements de carte affichent deux emplacements, chacun composé d'un nom, d'une latitude et d'une longitude. Comme pour l'enrichissement de la position, le locationName
dans l'origine et le destination
est limité à 500 caractères.
REST
{ "origin": { "locationName": "Australia", "latlng": { "latitude": "-21.197", "longitude": "95.821" } }, "destination": { "locationName": "San Francisco", "latlng": { "latitude": "37.757", "longitude": "122.507" } } }
Java
// Use the NewEnrichmentItemFactory helper to create a map enrichment item for // an origin and a destination location NewEnrichmentItem newEnrichmentItem = NewEnrichmentItemFactory.createMapEnrichment( "Australia", -21.197, 95.821, // origin "San Francisco", 37.757, 122.507 // destination );
PHP
// Create two new location objects to create a map enrichment item // for an origin and a destination location $locationAustralia = new Location(); $locationAustralia->setLocationName("Australia"); $locationAustralia->setLatlng((new LatLng())->setLatitude(-21.197)->setLongitude(95.821)); $locationSanFrancisco = new Location(); $locationSanFrancisco->setLocationName("San Francisco"); $locationSanFrancisco->setLatlng((new LatLng())->setLatitude(37.757)->setLongitude(122.507)); $newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithMap($locationAustralia, $locationSanFrancisco);
Positionnement compatible
Début de l'album
La position FIRST_IN_ALBUM
fait référence au début de l'album. Les éléments situés ici sont affichés en premier par l'utilisateur :
REST
{ "position": "FIRST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::FIRST_IN_ALBUM);
Fin de l'album
La position LAST_IN_ALBUM
fait référence à la fin de l'album. Les éléments qui s'y trouvent sont affichés en dernier à l'utilisateur.
REST
{ "position": "LAST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::LAST_IN_ALBUM);
Par rapport à l'élément multimédia
La spécification de la position relativeMediaItem
fait référence à une position par rapport à un élément multimédia. Les éléments sont ajoutés après l'élément multimédia spécifié.
REST
{ "position": "after-media-item", "relativeMediaItemId": "media-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterMediaItem($mediaItemId);
Par rapport à l'élément d'enrichissement
Spécifier un relativeEnrichmentItemId
fait référence à une position par rapport à un élément d'enrichissement. Les éléments sont ajoutés après l'élément d'enrichissement spécifié.
REST
{ "position": "after-enrichment-item", "relativeEnrichmentItemId": "enrichment-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterEnrichmentItem($enrichmentItemId);
Modifier des enrichissements
Il n'est actuellement pas possible de modifier les enrichissements. Toutefois, une fois qu'un enrichissement a été créé et ajouté à un album, l'utilisateur peut le modifier via l'application Google Photos.