Adicionar enriquecimentos

Os aprimoramentos permitem que seu aplicativo controle a estrutura e a apresentação de fotos em um álbum no Google Fotos. Eles permitem apresentar ao usuário mais contexto por meio de anotações de texto ou local e de imagens de ordem/agrupamento que contam uma história juntas.

Escopo de autorização obrigatório

A adição de enriquecimentos a álbuns criados pelo app requer o escopo photoslibrary.appendonly. Para mais informações sobre escopos, consulte Escpos de autorização.

Tipos de enriquecimento

O Google Fotos oferece suporte a três tipos de enriquecimento em álbuns: texto, locais e mapas.

Enriquecimentos de texto

Um enriquecimento de texto é uma string de texto simples que pode ser inserida para anotar o álbum.

Captura de tela de um aprimoramento de texto mostrado no Google Fotos

Aprimoramentos de local

Um aprimoramento de local é um marcador e o nome do lugar que pode ser inserido para anotar um local.

Captura de tela de um enriquecimento de local mostrado no
Google Fotos

Aprimoramentos do mapa

Um enriquecimento de mapa é um mapa com uma origem e um destino especificados que podem ser inseridos no álbum.

Captura de tela de um aprimoramento do mapa mostrado no Google Fotos

Posições

Para inserir itens de mídia e enriquecimentos de álbuns, especifique a posição do álbum. Uma posição é opcional para itens de mídia, mas precisa ser especificada para o enriquecimento do álbum.

Uma posição só pode ser especificada ao criar um item de mídia ou adicionar enriquecimentos. Os itens de mídia de um álbum não podem ser reorganizados. Por isso, é importante definir a posição de um item quando ele é adicionado.

Início do álbum

Um item de mídia/enriquecimento pode ser adicionado ao início do álbum como posicionamento absoluto.

Fim do álbum

Um item de mídia/enriquecimento pode ser adicionado ao final do álbum como posicionamento absoluto.

Em relação ao item de mídia

Um item de mídia/enriquecimento pode ser adicionado em relação a um item de mídia que começa após a posição dele no álbum.

Relativo ao item de enriquecimento

Um item de mídia/enriquecimento pode ser adicionado em relação a um item de enriquecimento que começa após a posição dele no álbum.

Como adicionar enriquecimentos a um álbum

Os aprimoramentos são adicionados um de cada vez e precisam ser adicionados a uma posição em um álbum. Para adicionar enriquecimentos a um álbum, chame albums.addEnrichment.

Se a solicitação for bem-sucedida, ela vai retornar o id do item de enriquecimento, que pode ser usado para posicionar itens de mídia ou outros enriquecimentos.

REST

Confira um exemplo de solicitação POST:

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

O corpo da solicitação consiste no item de enriquecimento e na posição dele:

{
  "newEnrichmentItem": {
    enrichment-to-be-added
  },
  "albumPosition": {
    position-of-enrichment
}

Veja um exemplo de resposta:

{
  "enrichmentItem": {
    "id": "enrichment-item-id",
  }
}

Melhorias com suporte

Enriquecimentos de texto

Os enriquecimentos de texto contêm uma única string de texto (não mais de 1.000 caracteres), conforme mostrado no exemplo abaixo:

REST

{
  "text": "Text to be shown"
}

Java

// Use the NewEnrichmentItemFactory helper to create a text enrichment item
NewEnrichmentItem newEnrichmentItem =
    NewEnrichmentItemFactory.createTextEnrichment("text to be shown");

PHP

$newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithText("text to be shown");

Aprimoramentos de local

Os aprimoramentos de local consistem em um nome arbitrário de local e na posição de latitude e longitude. O locationName é limitado a 500 caracteres.

REST

{
  "location": {
    "locationName": "Australia",
    "latlng": {
      "latitude": "-21.197",
      "longitude": "95.821"
    }
  }
}

Java

// Use the NewEnrichmentItemFactory helper to create a location enrichment
// with the name, latitude, and longitude of the location
NewEnrichmentItem newEnrichmentItem =
    NewEnrichmentItemFactory.createLocationEnrichment("Australia", -21.197, 95.821);

PHP

// Create a new location object and set the name, latitude, and longitude of the location
$newLocation = new Location();
$newLocation->setLocationName("Australia");
$newLocation->setLatlng((new LatLng())->setLatitude(-21.197)->setLongitude(95.821));

$newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithLocation($newLocation);

Aprimoramentos do mapa

Os enriquecimentos do mapa mostram dois locais, cada um consistindo em um nome e a latitude e longitude. Assim como no enriquecimento de local, o locationName na origem e o destination são limitados a 500 caracteres.

REST

{
  "origin": {
    "locationName": "Australia",
    "latlng": {
      "latitude": "-21.197",
      "longitude": "95.821"
    }
  },
  "destination": {
    "locationName": "San Francisco",
    "latlng": {
      "latitude": "37.757",
      "longitude": "122.507"
    }
  }
}

Java

// Use the NewEnrichmentItemFactory helper to create a map enrichment item for
// an origin and a destination location
NewEnrichmentItem newEnrichmentItem = NewEnrichmentItemFactory.createMapEnrichment(
    "Australia", -21.197, 95.821, // origin
    "San Francisco", 37.757, 122.507 // destination
);

PHP

// Create two new location objects to create a map enrichment item
// for an origin and a destination location
$locationAustralia = new Location();
$locationAustralia->setLocationName("Australia");
$locationAustralia->setLatlng((new LatLng())->setLatitude(-21.197)->setLongitude(95.821));

$locationSanFrancisco = new Location();
$locationSanFrancisco->setLocationName("San Francisco");
$locationSanFrancisco->setLatlng((new LatLng())->setLatitude(37.757)->setLongitude(122.507));

$newEnrichmentItem =
  PhotosLibraryResourceFactory::newEnrichmentItemWithMap($locationAustralia, $locationSanFrancisco);

Posicionamento compatível

Início do álbum

A posição FIRST_IN_ALBUM refere-se ao início do álbum. Os itens localizados aqui são mostrados ao usuário primeiro:

REST

{
  "position": "FIRST_IN_ALBUM",
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();

PHP

$albumPosition = new AlbumPosition();
$albumPosition->setPosition(PositionType::FIRST_IN_ALBUM);

Fim do álbum

A posição LAST_IN_ALBUM se refere ao fim do álbum. Os itens localizados aqui são mostrados ao usuário por último.

REST

{
  "position": "LAST_IN_ALBUM",
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();

PHP

$albumPosition = new AlbumPosition();
$albumPosition->setPosition(PositionType::LAST_IN_ALBUM);

Em relação ao item de mídia

Especificar a posição relativeMediaItem se refere a uma posição relativa a um item de mídia. Os itens são adicionados após o item de mídia especificado.

REST

{
  "position": "after-media-item",
  "relativeMediaItemId": "media-item-id"
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);

PHP

$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterMediaItem($mediaItemId);

Em relação ao item de enriquecimento

A especificação de um relativeEnrichmentItemId se refere a uma posição relativa a um item de enriquecimento. Os itens são adicionados após o item de enriquecimento especificado.

REST

{
  "position": "after-enrichment-item",
  "relativeEnrichmentItemId": "enrichment-item-id"
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);

PHP

$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterEnrichmentItem($enrichmentItemId);

Como modificar enriquecimentos

No momento, não é possível modificar os enriquecimentos. No entanto, depois que uma melhoria for criada e adicionada a um álbum, o usuário poderá modificá-la pelo app Google Fotos.