Zenginleştirmeler, uygulamanızın Google Fotoğraflar'daki bir albümdeki fotoğrafların yapısını ve sunumunu kontrol etmesine olanak tanır. Metin ya da konum ek açıklamaları ve birlikte bir hikaye anlatan sıralama/gruplama görüntüleri aracılığıyla kullanıcıya ek bağlam sunmanıza olanak tanır.
Gerekli yetkilendirme kapsamı
Zenginleştirme eklemek için aşağıdaki kapsamlardan en az biri gerekir:
photoslibrary.appendonly
photoslibrary.library
photoslibrary.sharing
Her kapsam için, enrichAlbum
çağrısı yalnızca uygulama tarafından oluşturulan albümlerle sınırlandırılmıştır.
.sharing
kapsamı kullanılırken enrichAlbum
, geliştiricinin paylaşılan albümün sahibi adına hareket ettiği durumlarla sınırlandırılmıştır.
Zenginleştirme türleri
Google Fotoğraflar, albümlerde üç tür zenginleştirmeyi destekler: metin, konumlar ve haritalar.
Metin zenginleştirme
Metin zenginleştirme, albüme ek açıklama eklemek için eklenebilecek bir düz metin dizesidir.
Konum zenginleştirmeleri
Konum zenginleştirme, bir konum için ek açıklama girmek üzere eklenebilecek bir işaretçi ve yerin adıdır.
Harita zenginleştirmeleri
Harita zenginleştirmesi, albüme eklenebilecek belirli bir başlangıç noktası ve hedef içeren haritadır.
Konumlar
Medya öğeleri ve albüm zenginleştirmeleri eklemek için albümün konumunu belirtin. Konum, medya öğeleri için isteğe bağlıdır ancak albüm zenginleştirme için belirtilmelidir.
Konum yalnızca bir medya öğesi oluştururken veya zenginleştirme eklerken belirtilebilir. Bir albümdeki mevcut medya öğeleri yeniden düzenlenemez. Bu nedenle, bir öğenin eklendiği zaman konumunu ayarlamak önemlidir.
Albümün başı
Mutlak konumlandırma olarak albümün başına bir medya/zenginleştirme öğesi eklenebilir.
Albümün sonu
Mutlak konumlandırma olarak albümün sonuna bir medya/zenginleştirme öğesi eklenebilir.
Medya öğesine göre
Bir medya öğesi/zenginleştirme öğesi, albümdeki konumundan sonra başlayan bir medya öğesine göre eklenebilir.
Zenginleştirici öğeyle göreli
Bir zenginleştirme öğesi, albümdeki konumundan sonra başlayarak zenginleştirme öğesine göre eklenebilir.
Albüme zenginleştirici öğeler ekleniyor
Zenginleştirmeler tek tek eklenir ve albümdeki bir konuma eklenmelidir.
Bir albüme zenginlik katmak için albums.addEnrichment
numaralı telefonu arayın.
İstek başarılı olursa zenginleştirme öğesinin id
değerini döndürür. Bu değer, medya öğelerini veya diğer zenginleştirmeleri konumlandırmak için kullanılabilir.
REST
Aşağıda bir POST isteği verilmiştir:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:addEnrichment Content-type: application/json Authorization: Bearer oauth2-token request-body
İsteğin gövdesi, zenginleştirme öğesinden ve bu öğenin konumundan oluşur:
{ "newEnrichmentItem": { enrichment-to-be-added }, "albumPosition": { position-of-enrichment }
Aşağıda örnek bir yanıt verilmiştir:
{ "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 }
Desteklenen zenginleştirmeler
Metin zenginleştirme
Metin zenginleştirme işlemleri, aşağıdaki örnekte gösterildiği gibi tek bir metin dizesi (en fazla 1.000 karakter) içerir:
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");
Konum zenginleştirmeleri
Konum zenginleştirmeleri rastgele bir konum adı ile enlem ve boylam konumundan oluşur. locationName
500 karakterle sınırlıdır.
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);
Harita zenginleştirmeleri
Harita zenginleştirmeleri, her biri bir ad, enlem ve boylamdan oluşan iki konum gösterir. Konum zenginleştirmeye benzer şekilde, kaynak ve destination
içindeki locationName
500 karakterle sınırlıdır.
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);
Desteklenen konumlandırma
Albümün başı
FIRST_IN_ALBUM
konumu, albümün başlangıcını belirtir. Burada bulunan öğeler önce kullanıcıya gösterilir:
REST
{ "position": "FIRST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::FIRST_IN_ALBUM);
Albümün sonu
LAST_IN_ALBUM
konumu albümün sonunu belirtir. Burada bulunan öğeler
kullanıcıya en son gösterilir.
REST
{ "position": "LAST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::LAST_IN_ALBUM);
Medya öğesine göre
relativeMediaItem
konumunun belirtilmesi, bir medya öğesiyle ilgili olan bir konumu belirtir. Öğeler belirtilen medya öğesinden sonra eklenir.
REST
{ "position": "after-media-item", "relativeMediaItemId": "media-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterMediaItem($mediaItemId);
Zenginleştirici öğeyle göreli
relativeEnrichmentItemId
belirtilmesi, zenginleştirme öğesine göre bir konum belirtir. Öğeler, belirtilen zenginleştirme öğesinden sonra eklenir.
REST
{ "position": "after-enrichment-item", "relativeEnrichmentItemId": "enrichment-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterEnrichmentItem($enrichmentItemId);
Zenginleştirmeleri değiştirme
Şu anda zenginleştirmeleri değiştirmek mümkün değildir. Bununla birlikte, zenginleştirme oluşturulduktan ve bir albüme eklendikten sonra kullanıcı, bu zenginleştirmeleri Google Fotoğraflar uygulaması üzerinden değiştirebilir.