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.
Standorterweiterungen
Eine Standortanreicherung besteht aus einer Markierung und dem Namen des Orts, der eingefügt werden kann. um einen Standort mit Anmerkungen zu versehen.
Kartenanreicherungen
Eine Kartenanreicherung ist eine Karte mit einem angegebenen Start- und Zielort, der in das Album eingefügt.
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.