No Google Fotos, você pode organizar fotos e outros itens de mídia usando álbuns. Um item de mídia pode ser associado a um ou mais álbuns. Para começar a associar itens de mídia a um álbum, você precisa criar o álbum primeiro.
Escopos de autorização necessários
A criação de álbuns requer o escopo photoslibrary.appendonly
.
Para mudar o título ou a foto da capa dos álbuns após a criação, é necessário o
escopo photoslibrary.edit.appcreateddata
.
Para mais informações sobre escopos, consulte Escopos de autorização.
Criar um novo álbum
Para criar um álbum, chame
albums.create
e inclua
o title
. O title
é restrito a 500 caracteres.
A chamada retorna um álbum. O app pode armazenar o ID do álbum com essas informações e usá-lo para fazer upload de itens de mídia para o á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" }
Extrair detalhes do álbum
Para recuperar os detalhes de um álbum criado pelo app, chame
albums.get
e inclua o
albumId
do álbum que você quer buscar.
A chamada retorna um álbum.
REST
Aqui está 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 os títulos e as fotos de capa dos álbuns
Para mudar o título ou a foto da capa de um álbum, crie um album update
call
com o identificador
dele e inclua o novo título ou o ID do item de mídia da nova foto da capa na
solicitação. Você vai precisar usar o escopo de autorização photoslibrary.edit.appcreateddata
para fazer a alteração.
Os títulos dos álbuns não podem ter mais de 500 caracteres. Os itens de mídia da capa precisam ser de propriedade do proprietário do álbum e pertencer ao álbum para o qual serão a capa.
REST
Este é um cabeçalho de solicitação PATCH para atualizar o title
e o
coverPhotomediaItemId
de um álbum.
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
no URL. O parâmetro updateMask
precisa ser transmitido para cada
propriedade de álbum que está sendo atualizada.
Para cada propriedade que você está atualizando, inclua os detalhes dela no corpo da solicitação:
{ "title": "new-album-title", "coverPhotoMediaItemId": "new-cover-media-item-id" }
Se for bem-sucedido, a resposta vai retornar os detalhes atualizados de 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" }
Adicionar itens de mídia a um álbum
É possível adicionar itens de mídia criados pelo app aos álbuns criados pelo app
chamando
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. As solicitações para adicionar mais itens que excederiam esse limite falharão.
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 bem-sucedida, a resposta retorna 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 para álbuns criados por ele chamando
albums.batchRemoveMediaItems
.
Toda a solicitação falhará se itens de mídia inválidos forem especificados. Não é possível ter sucesso parcial.
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 for bem-sucedida, a resposta retornará 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 }