Anreicherungen hinzufügen

Mit Datenerweiterungen können Sie in Ihrer Anwendung die Struktur und Präsentation von Fotos in einem Album in Google Fotos steuern. Sie können Nutzern zusätzlichen Kontext durch Text- oder Standorthinweise bieten und Bilder anordnen oder gruppieren, die zusammen eine Geschichte erzählen.

Erforderlicher Autorisierungsbereich

Um in der App erstellten Alben Zusatzinformationen hinzuzufügen, ist der Bereich photoslibrary.appendonly erforderlich. Weitere Informationen zu Bereichen finden Sie unter Autorisierungsbereiche.

Anreicherungstypen

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

Text-Enrichments

Eine Text-Enrichment ist ein einfacher Textstring, der eingefügt werden kann, um das Album zu annotieren.

Screenshot einer Text-Enrichment in Google Fotos

Standortinformationen

Eine Standortbereicherung besteht aus einer Markierung und dem Namen des Orts, die eingefügt werden können, um einen Ort zu kennzeichnen.

Screenshot einer Standorterweiterung in Google Fotos

Kartenanreicherungen

Eine Kartenerweiterung ist eine Karte mit einem bestimmten Start- und Zielort, die in das Album eingefügt werden kann.

Screenshot einer Kartenergänzung in Google Fotos

Positionen

Wenn du Medienelemente und Album-Enrichments einfügen möchtest, gib die Position des Albums an. Eine Position ist für Medienelemente optional, muss aber für die Albumanreicherung angegeben werden.

Eine Position kann nur beim Erstellen eines Medienelements oder beim Hinzufügen von Datenanreicherungen angegeben werden. Vorhandene Medienelemente in einem Album können nicht neu angeordnet werden. Daher ist es wichtig, die Position eines Elements beim Hinzufügen festzulegen.

Anfang des Albums

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

Ende des Albums

Ein Medien-/Enrichment-Element kann dem Album am Ende als absolute Position hinzugefügt werden.

Relativ zum Medienelement

Ein Medien-/Enrichment-Element kann relativ zu einem Medienelement hinzugefügt werden, das nach seiner Position im Album beginnt.

Bezogen auf den Datensatz mit Datenergänzung

Ein Medien-/Anreicherungselement kann relativ zu einem Anreicherungselement nach seiner Position im Album hinzugefügt werden.

Album Zusatzinformationen hinzufügen

Anreicherungen werden einzeln hinzugefügt und müssen einer Position in einem Album hinzugefügt werden. Wenn Sie einem Album Zusatzinformationen hinzufügen möchten, rufen Sie albums.addEnrichment auf.

Wenn die Anfrage erfolgreich ist, wird die id des Datensatzes zurückgegeben. Mit dieser kann die Positionierung von Medienelementen oder anderen Datensätzen festgelegt 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 Datensatz und seiner Position:

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

Hier ist eine Beispielantwort:

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

Unterstützte Datenerweiterungen

Text-Enrichments

Text-Enrichments enthalten einen einzelnen Textstring (maximal 1.000 Zeichen), wie im folgenden Beispiel gezeigt:

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

Standortinformationen

Standortanreicherungen bestehen aus einem beliebigen Standortnamen und der Breiten- und Längengradposition. locationName ist auf 500 Zeichen beschränkt.

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

Kartenerweiterungen

Kartenanreicherungen enthalten zwei Standorte, die jeweils aus einem Namen sowie einem Breiten- und Längengrad bestehen. Ähnlich wie bei der Standortbereicherung ist die locationName in „origin“ und destination auf 500 Zeichen begrenzt.

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 Platzierung

Anfang des Albums

Die Position FIRST_IN_ALBUM bezieht sich auf den Anfang des Albums. Elemente, die sich hier befinden, 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, werden 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);

Bezogen auf den Datensatz mit Datenergänzung

Die Angabe eines relativeEnrichmentItemId bezieht sich auf eine Position relativ zu einem Datensatz mit Datenanreicherung. 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);

Datenanreicherungen ändern

Derzeit können Datenaufbereitungen nicht geändert werden. Sobald eine Bereicherung erstellt und einem Album hinzugefügt wurde, kann der Nutzer sie jedoch über die Google Fotos App ändern.