Wzbogacenia pozwalają aplikacji kontrolować strukturę i prezentację zdjęcia z albumu w Zdjęciach Google. Umożliwiają one przedstawianie użytkownikowi z dodatkowym kontekstem za pomocą adnotacji tekstowych lub lokalizacji oraz kolejności/grupy tworzących razem zdjęcia, które razem opowiadają pewną historię.
Wymagany zakres autoryzacji
Aby dodać wzbogacanie, wymagany jest co najmniej 1 z tych zakresów:
photoslibrary.appendonly
photoslibrary.library
photoslibrary.sharing
W przypadku każdego zakresu wywołanie enrichAlbum
jest ograniczone tylko do utworzonych albumów
przez aplikację.
Jeśli używasz zakresu .sharing
, pole enrichAlbum
jest ograniczone tylko do określonych okoliczności
gdy deweloper działa w imieniu właściciela albumu udostępnionego.
Typy wzbogacania
Zdjęcia Google obsługują 3 rodzaje ulepszeń w albumach: tekst, lokalizacje i mapy.
Wzbogacenia tekstu
Wzbogacenie tekstu to zwykły ciąg tekstowy, który można wstawić, aby dodać adnotację do .
Uzupełnienia informacji o lokalizacji
Wzbogacenie lokalizacji to znacznik i nazwa miejsca, które można wstawić do dodania adnotacji do lokalizacji.
Wzbogacenia mapy
Wzbogacanie mapy to mapa z określonym miejscem wylotu i celem podróży, którą można wstawione do albumu.
Pozycje
Aby wstawić elementy multimedialne i wzbogacanie albumu, określ pozycję albumu. Pozycja jest opcjonalna w przypadku elementów multimedialnych, ale musisz ją określić w przypadku albumu wzbogacanie danych.
Pozycję można określić tylko wtedy, gdy tworzenie elementu multimedialnego, lub uzupełnienia informacji. Nie można ponownie uporządkować istniejących elementów multimedialnych w albumie, więc Ważne jest, aby określić pozycję dodawanego elementu.
Początek albumu
Element multimedialny lub wzbogacający można dodać na początku albumu jako wartość bezwzględną pozycjonowanie.
Koniec albumu
Element multimedialny lub wzbogacający można dodać na końcu albumu jako wartość bezwzględną pozycjonowanie.
Względem elementu multimedialnego
Element multimedialny/wzbogacający można dodać w odniesieniu do elementu multimedialnego zaczynającego się po pozycji w albumie.
Względem elementu wzbogacającego
Element multimedialny lub wzbogacający można dodać względem elementu wzbogacającego na początku po jego pozycji w albumie.
Dodawanie udoskonaleń do albumu
Udoskonalenia są dodawane pojedynczo i należy je dodawać do pozycji w albumie.
Aby dodać wzbogacanie albumu, wywołaj połączenie
albums.addEnrichment
Jeśli żądanie zostanie zrealizowane, zwracana jest wartość id
elementu wzbogacania, która
mogą być używane do pozycjonowania elementów multimedialnych i innych wzbogacania danych.
REST
Oto żądanie POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:addEnrichment Content-type: application/json Authorization: Bearer oauth2-token request-body
Treść żądania składa się z elementu wzbogacającego i jego pozycji:
{ "newEnrichmentItem": { enrichment-to-be-added }, "albumPosition": { position-of-enrichment }
Oto przykładowa odpowiedź:
{ "enrichmentItem": { "id": "enrichment-item-id", } }
Java
try { // Create the enrichment using the NewEnrichmentItemFactory helper NewEnrichmentItem newEnrichmentItem = NewEnrichmentItemFactory.createTextEnrichment(""); // Set the position of the enrichment within the album AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum(); // To add an enrichment, specify the album, the enrichment item, // and the position in the album where the enrichment is to be added AddEnrichmentToAlbumResponse response = photosLibraryClient .addEnrichmentToAlbum(albumId, newEnrichmentItem, albumPosition); // The response contains an EnrichmentItem // whose ID can be used to position media items or other enrichments EnrichmentItem enrichmentItem = response.getEnrichmentItem(); String itemId = enrichmentItem.getId(); } catch (ApiException e) { // Handle error }
PHP
// Create the enrichment item using the PhotosLibraryResourceFactory helper $newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithText(""); // ... // Set the position of the enrichment within the album $position = new AlbumPosition(); // ... try { // To add an enrichment, specify the album, the enrichment item, // and the position in the album where the enrichment is to be added $response = $photosLibraryClient->addEnrichmentToAlbum($albumId, $newEnrichmentItem, $position); // The response contains an EnrichmentItem // whose ID can be used to position media items or other enrichments $enrichmentItem = $response->getEnrichmentItem(); $itemId = $enrichmentItem->getId(); } catch (\Google\ApiCore\ApiException $e) { // Handle error }
Obsługiwane wzbogacanie
Wzbogacenia tekstu
Wzbogacenia tekstu obejmują pojedynczy ciąg tekstowy (maksymalnie 1000 znaków), w tym przykładzie:
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");
Uzupełnienia informacji o lokalizacji
Uzupełnienia informacji o lokalizacji składają się z dowolnej nazwy lokalizacji, szerokości geograficznej i
długości geograficznej. locationName
może mieć maksymalnie 500 znaków.
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);
Wzbogacenia mapy
Uzupełnienia mapy pokazują 2 lokalizacje, każdą składającą się z nazwy i szerokości geograficznej
i długość geograficzna. Podobnie jak w przypadku wzbogacania lokalizacji, element locationName
w
Źródło, a destination
może mieć maksymalnie 500 znaków.
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);
Obsługiwane pozycjonowanie
Początek albumu
Pozycja FIRST_IN_ALBUM
odnosi się do początku albumu. Znalezione produkty
są wyświetlane użytkownikowi jako pierwsze:
REST
{ "position": "FIRST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::FIRST_IN_ALBUM);
Koniec albumu
Pozycja LAST_IN_ALBUM
odnosi się do końca albumu. Produkty zlokalizowane tutaj
wyświetlają się użytkownikowi jako ostatni.
REST
{ "position": "LAST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::LAST_IN_ALBUM);
Względem elementu multimedialnego
Określenie pozycji relativeMediaItem
odnosi się do pozycji względem
element multimedialny. Elementy są dodawane po określonym elemencie multimedialnym.
REST
{ "position": "after-media-item", "relativeMediaItemId": "media-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterMediaItem($mediaItemId);
Względem elementu wzbogacającego
Określenie relativeEnrichmentItemId
odnosi się do pozycji względem
elementu wzbogacania. Elementy są dodawane po określonym elemencie wzbogacania.
REST
{ "position": "after-enrichment-item", "relativeEnrichmentItemId": "enrichment-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterEnrichmentItem($enrichmentItemId);
Modyfikowanie wzbogacania
Obecnie nie można modyfikować wzbogacania danych. Jednak po wzbogacaniu zostało utworzone i dodane do albumu, użytkownik może modyfikować wzbogacanie za pomocą aplikacji Zdjęcia Google.