Gerenciar álbuns

No Google Fotos, você pode usar álbuns para organizar fotos e outros itens de mídia. Um item de mídia pode ser associado a um ou mais álbuns. Para começar a associar itens de mídia em um álbum, é necessário criar o álbum primeiro.

Escopos de autorização necessários

A criação de álbuns requer o escopo photoslibrary.appendonly.

Alterar o título ou a foto da capa dos álbuns após a criação deles exige o escopo photoslibrary.edit.appcreateddata.

Para mais informações sobre escopos, consulte Autorização escopos.

Criar um novo álbum

Para criar um álbum, chame albums.create e incluem o title. O title é restrito a 500 caracteres.

A chamada retorna um álbum. Seu app pode armazenar o ID do álbum a partir dessas informações e usá-lo para fazer upload de mídia itens ao álbum específico.

REST

Aqui está um cabeçalho para uma solicitação POST:

POST https://photoslibrary.googleapis.com/v1/albums
Content-type: application/json
Authorization: Bearer oauth2-token

O corpo da solicitação tem esta aparência:

{
  "album": {
    "title": "new-album-title"
  }
}

Se for bem-sucedido, a resposta vai retornar um álbum:

{
  "productUrl": "album-product-url",
  "id": "album-id",
  "title": "album-title",
  "isWriteable": "whether-you-can-write-to-this-album"
}

Recuperar detalhes do álbum

Para recuperar os detalhes de um álbum existente criado pelo seu aplicativo, chame albums.get e inclua o albumId do álbum que você quer buscar.

A chamada retorna um álbum.

REST

Este é um cabeçalho para uma solicitação GET:

GET https://photoslibrary.googleapis.com/v1/albums/{albumId}
Content-type: application/json
Authorization: Bearer oauth2-token

O corpo da solicitação tem a seguinte aparência:

{
  "albumId": album-id
}

Se for bem-sucedido, a resposta vai retornar um álbum:

{
  "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
}

Mudar o título dos álbuns e as fotos da capa

Para alterar o título ou a foto da capa de um álbum, crie uma album update call com o identificador álbum e incluem o novo título ou o ID do item de mídia da nova foto de capa no da solicitação. Você vai precisar usar o photoslibrary.edit.appcreateddata escopo da autorização para fazer a alteração.

Os títulos dos álbuns não podem ter mais de 500 caracteres. Cobrir itens de mídia devem pertencer ao proprietário do álbum e ao álbum em que serão a capa pelas quais

REST

Este é um cabeçalho de solicitação PATCH para atualizar os valores title e coverPhotomediaItemId.

PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId

Essa solicitação determina quais propriedades estão sendo atualizadas incluindo uma máscara de campo, indicada pelos parâmetros updateMask na URL. O parâmetro updateMask precisa ser transmitido para cada a propriedade do álbum que está sendo atualizada.

Para cada propriedade que você está atualizando, inclua os detalhes em o corpo da solicitação:

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

Se for bem-sucedida, a resposta vai retornar o album atualizado detalhes:

{
  "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"
}

Adicionar itens de mídia a um álbum

É possível adicionar itens de mídia criados pelo app aos álbuns criados pelo app: chamar albums.batchAddMediaItems Os itens de mídia são adicionados ao final do álbum na ordem informada nesta chamada.

Toda a solicitação falhará se um item de mídia ou álbum inválido for especificado. Não há suporte para sucesso parcial.

Cada álbum pode conter até 20.000 itens de mídia. Solicitações para adicionar mais itens que ultrapassar esse limite não vai funcionar.

Para adicionar itens de mídia a um álbum, chame albums.batchAddMediaItems com os identificadores dos itens de mídia e do álbum.

REST

Aqui está um cabeçalho para uma solicitação POST:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems
Content-type: application/json
Authorization: Bearer oauth2-token

O corpo da solicitação tem esta aparência:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Se for bem-sucedida, a resposta retornará uma resposta JSON vazia e o status de sucesso HTTP.

Remover itens de mídia de um álbum

É possível remover itens de mídia criados pelo app dos álbuns criados pelo app: chamar albums.batchRemoveMediaItems

A solicitação inteira vai falhar se itens de mídia inválidos forem especificados. Parcial não é compatível.

Para remover itens de mídia de um álbum, chame albums.batchRemoveMediaItems com os identificadores dos itens de mídia e do álbum.

REST

Aqui está um cabeçalho para uma solicitação POST:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems
Content-type: application/json
Authorization: Bearer oauth2-token

O corpo da solicitação tem esta aparência:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Se bem-sucedida, a resposta retorna uma resposta JSON vazia e o status de sucesso HTTP.

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
}