Zengin öğeler ekleyin

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.

Google Fotoğraflar'da gösterilen bir metin zenginleştirme ekran görüntüsü

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.

Google Fotoğraflar'da gösterilen konum zenginleştirmenin ekran görüntüsü

Harita zenginleştirmeleri

Harita zenginleştirmesi, albüme eklenebilecek belirli bir başlangıç noktası ve hedef içeren haritadır.

Google Fotoğraflar'da sunulan harita zenginleştirmesinin ekran görüntüsü

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.