In Google Foto puoi organizzare foto e altri contenuti multimediali utilizzando gli album. Un elemento multimediale può essere associato a uno o più album. Per iniziare ad associare elementi multimediali a un album, devi prima creare l'album.
Ambiti di autorizzazione richiesti
La creazione di album richiede l'ambito photoslibrary.appendonly
.
Per modificare il titolo o la foto di copertina degli album dopo la loro creazione è necessario lo scopophotoslibrary.edit.appcreateddata
.
Per ulteriori informazioni sugli ambiti, consulta Ambiti di autorizzazione.
Creare un nuovo album
Per creare un album, chiama
albums.create
e includi
il title
. Tieni presente che title
è limitato a 500 caratteri.
La chiamata restituisce un album. L'app può memorizzare l'ID album da queste informazioni e utilizzarlo per caricare elementi multimediali nell'album specifico.
REST
Ecco un'intestazione per una richiesta POST:
POST https://photoslibrary.googleapis.com/v1/albums Content-type: application/json Authorization: Bearer oauth2-token
Il corpo della richiesta è simile al seguente:
{ "album": { "title": "new-album-title" } }
In caso di esito positivo, la risposta restituisce un album:
{ "productUrl": "album-product-url", "id": "album-id", "title": "album-title", "isWriteable": "whether-you-can-write-to-this-album" }
Recuperare i dettagli dell'album
Per recuperare i dettagli di un album esistente creato dalla tua app, chiama
albums.get
e includi il
albumId
dell'album che vuoi recuperare.
La chiamata restituisce un album.
REST
Ecco un'intestazione per una richiesta GET:
GET https://photoslibrary.googleapis.com/v1/albums/{albumId} Content-type: application/json Authorization: Bearer oauth2-token
Il corpo della richiesta è simile al seguente:
{ "albumId": album-id }
Se l'esito è positivo, la risposta restituisce 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 }
Modificare i titoli e le foto di copertina degli album
Per modificare il titolo o la foto di copertina di un album, crea un album update
call
con l'identificatore dell'album e includi il nuovo titolo o l'ID elemento multimediale della nuova foto di copertina nella richiesta. Per apportare la modifica, devi utilizzare l'ambito photoslibrary.edit.appcreateddata
authorization.
I titoli degli album non possono contenere più di 500 caratteri. Gli elementi multimediali di copertina devono essere di proprietà del proprietario dell'album e appartenere all'album di cui avranno la cover.
REST
Ecco un'intestazione della richiesta PATCH per aggiornare title
e
coverPhotomediaItemId
di un album.
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
Questa richiesta determina quali proprietà vengono aggiornate includendo
una maschera di campo, indicata dai parametri updateMask
nell'
URL. Il parametro updateMask
deve essere passato per ogni
proprietà dell'album da aggiornare.
Per ogni proprietà che stai aggiornando, includi i relativi dettagli nel corpo della richiesta:
{ "title": "new-album-title", "coverPhotoMediaItemId": "new-cover-media-item-id" }
In caso di esito positivo, la risposta restituisce i dettagli aggiornati di album
:
{ "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" }
Aggiungere elementi multimediali a un album
Puoi aggiungere elementi multimediali creati dalla tua app agli album creati dalla tua app chiamando
albums.batchAddMediaItems
.
Gli elementi multimediali vengono aggiunti alla fine dell'album nell'ordine specificato in questa chiamata.
Se viene specificato un elemento multimediale o un album non valido, l'intera richiesta avrà esito negativo. Il successo parziale non è supportato.
Ogni album può contenere fino a 20.000 elementi multimediali. Le richieste di aggiunta di altri elementi che superano questo limite non andranno a buon fine.
Per aggiungere elementi multimediali a un album, chiama albums.batchAddMediaItems
con gli identificatori degli elementi multimediali e dell'album.
REST
Ecco un'intestazione per una richiesta POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems Content-type: application/json Authorization: Bearer oauth2-token
Il corpo della richiesta è simile al seguente:
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
Se l'esito è positivo, la risposta restituisce una risposta JSON vuota e lo stato HTTP Riuscito.
Rimuovere elementi multimediali da un album
Per rimuovere elementi multimediali creati dalla tua app dagli album creati dall'app,
chiama il numero
albums.batchRemoveMediaItems
.
L'intera richiesta non andrà a buon fine se vengono specificati elementi multimediali non validi. Il risultato parziale non è supportato.
Per rimuovere elementi multimediali da un album, chiama
albums.batchRemoveMediaItems
con gli identificatori degli elementi multimediali e dell'album.
REST
Ecco un'intestazione per una richiesta POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems Content-type: application/json Authorization: Bearer oauth2-token
Il corpo della richiesta è simile al seguente:
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
In caso di esito positivo, la risposta restituisce una risposta JSON vuota e lo stato 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 }