Gli arricchimenti consentono alla tua applicazione di controllare la struttura e la presentazione delle foto all'interno di un album in Google Foto. Ti consentono di presentare all'utente un contesto aggiuntivo tramite annotazioni di testo o posizione e ordinare/raggruppare le immagini che raccontano una storia insieme.
Ambito dell'autorizzazione richiesto
L'aggiunta di arricchimenti agli album creati dall'app richiede l'ambito photoslibrary.appendonly
. Per ulteriori informazioni sugli ambiti, consulta Ambiti di autorizzazione.
Tipi di arricchimento
Google Foto supporta tre tipi di arricchimento negli album: testo, località e mappe.
Arricchimenti di testo
Un arricchimento del testo è una stringa di testo normale che può essere inserita per annotare l'album.
Arricchimenti dei dati sulla posizione
Un arricchimento della posizione è un indicatore e il nome del luogo che può essere inserito per annotare una posizione.
Arricchimenti delle mappe
Un arricchimento della mappa è una mappa con una partenza e una destinazione specificate che può essere inserita nell'album.
Posizioni
Per inserire elementi multimediali e arricchimenti dell'album, specifica la posizione dell'album. Una posizione è facoltativa per gli elementi multimediali, ma deve essere specificata per l'arricchimento degli album.
Una posizione può essere specificata solo durante la creazione di un elemento multimediale o l'aggiunta di arricchimenti. Gli elementi multimediali esistenti in un album non possono essere riorganizzati, quindi è importante impostare la posizione di un elemento al momento dell'aggiunta.
Inizio dell'album
Un elemento multimediale/di arricchimento può essere aggiunto all'inizio dell'album come posizionamento assoluto.
Fine dell'album
Un elemento multimediale/di arricchimento può essere aggiunto alla fine dell'album come posizionamento assoluto.
Rispetto all'elemento multimediale
Un elemento multimediale/arricchimento può essere aggiunto rispetto a un elemento multimediale che inizia dopo la sua posizione nell'album.
Rispetto all'elemento di potenziamento
È possibile aggiungere un elemento multimediale/di arricchimento rispetto a un elemento di arricchimento che inizia dopo la sua posizione nell'album.
Aggiunta di arricchimenti all'album
Gli arricchimenti vengono aggiunti uno alla volta e devono essere aggiunti a una posizione in un album.
Per aggiungere arricchimenti a un album, chiama
albums.addEnrichment
.
Se la richiesta ha esito positivo, restituisce il valore id
dell'elemento di potenziamento, che può essere utilizzato per posizionare elementi multimediali o altri arricchimenti.
REST
Ecco una richiesta POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:addEnrichment Content-type: application/json Authorization: Bearer oauth2-token request-body
Il corpo della richiesta è costituito dall'elemento di arricchimento e dalla relativa posizione:
{ "newEnrichmentItem": { enrichment-to-be-added }, "albumPosition": { position-of-enrichment }
Ecco un esempio di risposta:
{ "enrichmentItem": { "id": "enrichment-item-id", } }
Arricchimenti supportati
Arricchimenti di testo
Gli arricchimenti di testo contengono una singola stringa di testo (non più di 1000 caratteri), come mostrato nell'esempio seguente:
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");
Arricchimenti dei dati sulla posizione
Gli arricchimenti della località consistono in un nome di località arbitrario e nella posizione di latitudine e longitudine. locationName
è limitato a 500 caratteri.
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);
Arricchimenti delle mappe
Gli arricchimenti della mappa mostrano due località, ciascuna composta da un nome, la latitudine e la longitudine. Come per l'arricchimento dei dati sulla posizione, locationName
all'interno di destination
e di destination
è limitato a 500 caratteri.
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);
Posizionamento supportato
Inizio dell'album
La posizione FIRST_IN_ALBUM
fa riferimento all'inizio dell'album. Gli elementi che si trovano qui vengono mostrati prima all'utente:
REST
{ "position": "FIRST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::FIRST_IN_ALBUM);
Fine dell'album
La posizione LAST_IN_ALBUM
si riferisce alla fine dell'album. Gli elementi che si trovano qui
vengono mostrati all'utente per ultimi.
REST
{ "position": "LAST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::LAST_IN_ALBUM);
Rispetto all'elemento multimediale
La specifica della posizione relativeMediaItem
si riferisce a una posizione relativa a un elemento multimediale. Gli elementi vengono aggiunti dopo l'elemento multimediale specificato.
REST
{ "position": "after-media-item", "relativeMediaItemId": "media-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterMediaItem($mediaItemId);
Rispetto all'elemento di arricchimento
La specifica di un relativeEnrichmentItemId
fa riferimento a una posizione relativa a un elemento di arricchimento. Gli elementi vengono aggiunti dopo l'elemento di arricchimento specificato.
REST
{ "position": "after-enrichment-item", "relativeEnrichmentItemId": "enrichment-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterEnrichmentItem($enrichmentItemId);
Modificare gli arricchimenti
Al momento non è possibile modificare gli arricchimenti. Tuttavia, una volta creato un arricchimento e aggiunto a un album, l'utente può modificarlo tramite l'app Google Foto.