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 }