Dodaj wzbogacenia

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 .

Zrzut ekranu pokazujący uzupełnienie tekstu w Zdjęciach Google

Uzupełnienia informacji o lokalizacji

Wzbogacenie lokalizacji to znacznik i nazwa miejsca, które można wstawić do dodania adnotacji do lokalizacji.

Zrzut ekranu uzupełnionego o lokalizację widoczny w Zdjęciach Google

Wzbogacenia mapy

Wzbogacanie mapy to mapa z określonym miejscem wylotu i celem podróży, którą można wstawione do albumu.

Zrzut ekranu pokazujący udoskonalenie mapy wyświetlane w Zdjęciach Google

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.