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.
Standortinformationen
Eine Standortbereicherung besteht aus einer Markierung und dem Namen des Orts, die eingefügt werden können, um einen Ort zu kennzeichnen.
Kartenanreicherungen
Eine Kartenerweiterung ist eine Karte mit einem bestimmten Start- und Zielort, die in das Album eingefügt werden kann.
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.