Anreicherungen hinzufügen

Mit Anreicherungen kann Ihre Anwendung die Struktur und Darstellung von Fotos in einem Album in Google Fotos Sie ermöglichen es Ihnen, dem Nutzer mit zusätzlichem Kontext durch Text- oder Standortanmerkungen und Reihenfolge/Gruppe die gemeinsam eine Geschichte erzählen.

Erforderlicher Autorisierungsbereich

Zum Hinzufügen von Anreichern ist mindestens einer der folgenden Bereiche erforderlich:

  • photoslibrary.appendonly
  • photoslibrary.library
  • photoslibrary.sharing

Bei jedem Bereich ist der enrichAlbum-Aufruf auf die erstellten Alben beschränkt durch die App.

Bei Verwendung des Bereichs .sharing ist enrichAlbum auf bestimmte Umstände beschränkt wenn der Entwickler im Namen des Inhabers des geteilten Albums handelt.

Anreicherungstypen

Google Fotos unterstützt drei Arten der Bereicherung in Alben: Text, Standorte und Karten.

Textanreicherungen

Eine Textanreicherung ist eine einfache Textzeichenfolge, die eingefügt werden kann, um den Album.

Screenshot einer in Google Fotos angezeigten Textanreicherung

Standorterweiterungen

Eine Standortanreicherung besteht aus einer Markierung und dem Namen des Orts, der eingefügt werden kann. um einen Standort mit Anmerkungen zu versehen.

Screenshot einer Standorterweiterung in Google Fotos

Kartenanreicherungen

Eine Kartenanreicherung ist eine Karte mit einem angegebenen Start- und Zielort, der in das Album eingefügt.

Screenshot einer Kartenanreicherung in Google Fotos

Positionen

Um Medienelemente und Albumanreicherungen einzufügen, geben Sie die Position des Albums an. Eine Position ist für Medienelemente optional, muss aber für das Album angegeben werden die Bereicherung sind.

Eine Position kann nur angegeben werden, wenn Mediendateien erstellen oder Anreicherungen hinzufügen. Vorhandene Medienelemente in einem Album können nicht neu organisiert werden. ist es wichtig, die Position eines Elements beim Hinzufügen festzulegen.

Anfang des Albums

Ein Medien-/Anreicherungselement kann als absoluter Wert am Anfang des Albums hinzugefügt werden. Positionierung.

Ende des Albums

Ein Medien-/Anreicherungselement kann als absoluter Wert am Ende des Albums hinzugefügt werden. Positionierung.

Relativ zum Medienelement

Ein Medien-/Anreicherungselement kann relativ zu einem Medienelement hinzugefügt werden, das nach dem ihre Position im Album verändert.

Relativ zum Anreicherungselement

Ein Medien-/Anreicherungselement kann relativ zum Anfang eines Anreicherungselements hinzugefügt werden nach seiner Position im Album ein.

Hinzufügen von Bereichen zum Album

Anreicherungen werden einzeln hinzugefügt und müssen einer Position in einem Album hinzugefügt werden. Um einem Album Bereicherung hinzuzufügen, rufen Sie albums.addEnrichment

Wenn die Anfrage erfolgreich ist, wird die id des Anreicherungselements zurückgegeben, die zum Positionieren von Medienelementen oder anderen Anreicherungen verwendet werden.

REST

Hier ist eine POST-Anfrage:

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

Der Anfragetext besteht aus dem Anreicherungselement und seiner Position:

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

Hier ist eine Beispielantwort:

{
  "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
}

Unterstützte Anreicherungen

Textanreicherungen

Textanreicherungen enthalten eine einzelne Textzeichenfolge (maximal 1000 Zeichen), wie Beispiel:

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");

Standorterweiterungen

Standortanreicherungen bestehen aus einem beliebigen Standortnamen und den Position des Längengrads. locationName darf maximal 500 Zeichen enthalten.

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);

Kartenanreicherungen

Kartenanreicherungen zeigen zwei Standorte, die jeweils aus einem Namen und dem Breitengrad bestehen. und Längengrad. Ähnlich wie bei der Standortanreicherung kann auch die locationName innerhalb der „origin“ und destination sind auf 500 Zeichen beschränkt.

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);

Unterstützte Positionierung

Anfang des Albums

Die Position FIRST_IN_ALBUM bezieht sich auf den Anfang des Albums. Gefundene Elemente werden dem Nutzer zuerst angezeigt:

REST

{
  "position": "FIRST_IN_ALBUM",
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();

PHP

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

Ende des Albums

Die Position LAST_IN_ALBUM bezieht sich auf das Ende des Albums. Elemente, die sich hier befinden dem Nutzer zuletzt angezeigt.

REST

{
  "position": "LAST_IN_ALBUM",
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();

PHP

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

Relativ zum Medienelement

Die Angabe der Position relativeMediaItem bezieht sich auf eine Position relativ zu einem Medienelement. Die Elemente werden nach dem angegebenen Medienelement hinzugefügt.

REST

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

Java

AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);

PHP

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

Relativ zum Anreicherungselement

Die Angabe eines relativeEnrichmentItemId bezieht sich auf eine Position relativ zu einem Anreicherungselement. Die Elemente werden nach dem angegebenen Anreicherungselement hinzugefügt.

REST

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

Java

AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);

PHP

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

Anreicherungen ändern

Derzeit gibt es keine Möglichkeit, Anreicherungen zu ändern. Sobald jedoch eine Anreicherung erstellt und zu einem Album hinzugefügt wurde, kann der Nutzer die Anreicherungen ändern. über die Google Fotos App.