エンリッチメントを追加する

エンリッチメントを使用すると、アプリケーションで 削除することもできます。これを使用して テキストまたは場所のアノテーションおよび順序/グループを通じて追加のコンテキストを付加 画像でまとめたものです

必要な承認スコープ

エンリッチメントを追加するには、次のスコープが少なくとも 1 つ必要です。

  • photoslibrary.appendonly
  • photoslibrary.library
  • photoslibrary.sharing

各スコープで、enrichAlbum 呼び出しは作成されたアルバムのみに制限されます。 管理できます。

.sharing スコープを使用する場合、enrichAlbum は状況に制限されます。 デベロッパーが共有アルバムのオーナーの代理を務めている。

拡充の種類

Google フォトは、アルバムでテキスト、 提供します

テキストのエンリッチメント

テキストのエンリッチメントは書式なしテキストの文字列で、これを挿入することで できます。

Google フォトに表示されるテキストのエンリッチメントのスクリーンショット

場所のエンリッチメント

場所のエンリッチメントは、マーカーであり、挿入できる場所の名前です。 ビジネスにアノテーションを付けることができます。

Google フォトに表示される位置情報のエンリッチメントのスクリーンショット

地図のエンリッチメント

地図のエンリッチメントは、指定された出発地と目的地を持つ地図で、 アルバムに挿入されました。

Google フォトに表示される地図のエンリッチメントのスクリーンショット

位置

メディア アイテムとアルバムのエンリッチメントを挿入するには、アルバムの位置を指定します。 メディア アイテムでは位置は任意ですが、アルバムには指定する必要があります 強化できます。

位置を指定できるのは、 メディア アイテムの作成 エンリッチメントの追加などですアルバム内の既存のメディア アイテムは再整理できないため、 アイテムを追加するときは、その位置を設定することが重要です。

アルバムの先頭

メディア アイテムやエンリッチメント アイテムは、アルバムの先頭に絶対値として追加できます。 考えています

アルバムの最後

メディア アイテムやエンリッチメント アイテムは、アルバムの末尾に絶対パスとして追加できます。 考えています

メディア アイテムを基準に

メディア/拡充アイテムは、 アルバム内での位置

エンリッチメント アイテムに相対

エンリッチメント アイテムの先頭を基準としてメディア/エンリッチメント アイテムを追加できます。 位置の後に移動します。

アルバムにエンリッチメントを追加しています

エンリッチメントは 1 つずつ追加し、アルバム内の特定の位置に追加する必要があります。 アルバムにエンリッチメントを追加するには、 albums.addEnrichment

リクエストが成功すると、エンリッチメント アイテムの id が返されます。 メディア アイテムやその他のエンリッチメントの配置に使用できます。

REST

POST リクエストの例を次に示します。

POST https://photoslibrary.googleapis.com/v1/albums/album-id:addEnrichment
Content-type: application/json
Authorization: Bearer oauth2-token
request-body

リクエストの本文は、エンリッチメント アイテムとその位置で構成されます。

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

レスポンスのサンプルは次のようになります。

{
  "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
}

サポートされているエンリッチメント

テキストのエンリッチメント

テキストのエンリッチメントには、次のように 1 つのテキスト文字列(1,000 文字以下)が含まれます。 例を示しています。

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

場所のエンリッチメント

場所のエンリッチメントは、任意のロケーション名、緯度と経度 経度の位置。locationName は 500 文字以内に制限されています。

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

地図のエンリッチメント

地図のエンリッチメントは 2 つの場所を示し、それぞれが名前と緯度で構成される 指定します場所のエンリッチメントと同様に、locationName オリジンと destination は 500 文字に制限されています。

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

サポートされているポジショニング

アルバムの先頭

FIRST_IN_ALBUM の位置は、アルバムの先頭を指します。アイテムの場所 最初にユーザーに表示されます。

REST

{
  "position": "FIRST_IN_ALBUM",
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();

PHP

$albumPosition = new AlbumPosition();
$albumPosition->setPosition(PositionType::FIRST_IN_ALBUM);

アルバムの最後

LAST_IN_ALBUM の位置は、アルバムの最後を指します。ここにアイテムがあります 最後にユーザーに表示されます

REST

{
  "position": "LAST_IN_ALBUM",
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();

PHP

$albumPosition = new AlbumPosition();
$albumPosition->setPosition(PositionType::LAST_IN_ALBUM);

メディア アイテムを基準に

位置 relativeMediaItem を指定すると、 指定します。指定したメディア アイテムの後にアイテムが追加されます。

REST

{
  "position": "after-media-item",
  "relativeMediaItemId": "media-item-id"
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);

PHP

$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterMediaItem($mediaItemId);

エンリッチメント アイテムに相対

relativeEnrichmentItemId を指定すると、指定した位置からの相対位置が エンリッチメント アイテムです。指定したエンリッチメント アイテムの後にアイテムが追加されます。

REST

{
  "position": "after-enrichment-item",
  "relativeEnrichmentItemId": "enrichment-item-id"
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);

PHP

$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterEnrichmentItem($enrichmentItemId);

エンリッチメントの変更

現時点では、エンリッチメントを変更する方法はありません。ただし エンリッチメントや 作成され、アルバムに追加された場合、ユーザーはエンリッチメントを変更できます。 Google フォトアプリで管理できます