Gestisci album

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
}