Thêm nội dung bổ ích

Tính năng bổ sung giúp ứng dụng kiểm soát cấu trúc và cách trình bày ảnh trong album trên Google Photos. Chúng cho phép bạn hiển thị với người dùng kèm bối cảnh bổ sung thông qua chú thích dạng văn bản hoặc chú thích vị trí và đơn đặt hàng/nhóm để kể một câu chuyện cùng nhau.

Phạm vi uỷ quyền bắt buộc

Để thêm tính năng làm phong phú, bạn phải đáp ứng ít nhất một trong các phạm vi sau:

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

Đối với mỗi phạm vi, lệnh gọi enrichAlbum chỉ giới hạn ở các album được tạo theo ứng dụng.

Khi sử dụng phạm vi .sharing, enrichAlbum chỉ áp dụng trong các trường hợp trong đó nhà phát triển hành động thay mặt cho chủ sở hữu của album chia sẻ.

Các loại tính năng bổ sung

Google Photos hỗ trợ 3 loại tính năng bổ sung trong album: văn bản, địa điểm và bản đồ.

Làm phong phú văn bản

Tính phong phú văn bản là một chuỗi văn bản thuần tuý có thể được chèn vào để chú thích của bạn.

Ảnh chụp màn hình về phần bổ ích của văn bản xuất hiện trong Google Photos

Tính năng phong phú về địa điểm

Thông tin bổ sung về vị trí là một điểm đánh dấu và tên của địa điểm có thể chèn vào để chú thích một vị trí.

Ảnh chụp màn hình về một số thông tin chi tiết về vị trí xuất hiện trong Google Photos

Tính năng làm phong phú bản đồ

Tính năng làm phong phú bản đồ là một bản đồ có điểm xuất phát và điểm đến cụ thể có thể được chèn vào anbom.

Ảnh chụp màn hình về một số thông tin bổ sung trên bản đồ xuất hiện trong Google Photos

Vị trí

Để chèn các mục nội dung nghe nhìn và các tính năng bổ sung của album, hãy chỉ định vị trí của album. Bạn không bắt buộc phải chỉ định vị trí cho các mục nội dung nghe nhìn, nhưng bạn phải chỉ định vị trí cho album phần bổ sung.

Bạn chỉ có thể chỉ định vị trí khi tạo một mục nội dung nghe nhìn hoặc bổ sung các lợi ích. Các mục nội dung đa phương tiện hiện có trong album không thể sắp xếp lại, vì vậy, điều quan trọng là đặt vị trí của mục khi mục được thêm.

Đầu album

Bạn có thể thêm một mục nội dung nghe nhìn/nội dung phong phú vào đầu album ở dạng tuyệt đối vị trí.

Cuối album

Bạn có thể thêm một mục nội dung nghe nhìn/nội dung phong phú vào cuối album ở dạng tuyệt đối vị trí.

Liên quan đến mục nội dung đa phương tiện

Bạn có thể thêm một mục nội dung đa phương tiện/nội dung đa phương tiện tương ứng với một mục nội dung đa phương tiện bắt đầu sau vị trí của ảnh hoặc video đó trong album.

So với mục làm giàu

Bạn có thể thêm một mục nội dung đa phương tiện/mục làm phong phú tương ứng với một mục làm phong phú bắt đầu sau vị trí của nó trong album.

Thêm những điểm mới cho album

Các tính năng bổ sung được thêm lần lượt và phải được thêm vào một vị trí trong album. Để thêm các lợi ích bổ sung vào album, hãy gọi albums.addEnrichment.

Nếu yêu cầu thành công, hệ thống sẽ trả về id của mục làm giàu. có thể được sử dụng để định vị các mục nội dung đa phương tiện hoặc các tính năng bổ sung khác.

Kiến trúc chuyển trạng thái đại diện (REST)

Dưới đây là yêu cầu POST:

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

Nội dung yêu cầu bao gồm mục làm giàu và vị trí của mục:

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

Dưới đây là phản hồi mẫu:

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

Các tính năng bổ sung được hỗ trợ

Làm phong phú văn bản

Tính năng phong phú văn bản chứa một chuỗi văn bản duy nhất (không quá 1.000 ký tự), như như trong ví dụ sau:

Kiến trúc chuyển trạng thái đại diện (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");

Tính năng phong phú về địa điểm

Thông tin làm phong phú vị trí bao gồm tên vị trí tuỳ ý, vĩ độ và kinh độ. locationName có giới hạn là 500 ký tự.

Kiến trúc chuyển trạng thái đại diện (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);

Tính năng làm phong phú bản đồ

Tính năng làm phong phú bản đồ hiển thị hai vị trí, mỗi vị trí bao gồm tên và vĩ độ và kinh độ. Tương tự như việc làm phong phú vị trí, locationName trong gốc và destination được giới hạn trong 500 ký tự.

Kiến trúc chuyển trạng thái đại diện (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);

Chế độ định vị được hỗ trợ

Đầu album

Vị trí FIRST_IN_ALBUM đề cập đến phần đầu album. Đã tìm thấy các mục hiển thị cho người dùng trước tiên:

Kiến trúc chuyển trạng thái đại diện (REST)

{
  "position": "FIRST_IN_ALBUM",
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();

PHP

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

Cuối album

Vị trí LAST_IN_ALBUM đề cập đến cuối anbom. Các mục nằm tại đây được hiển thị cho người dùng cuối cùng.

Kiến trúc chuyển trạng thái đại diện (REST)

{
  "position": "LAST_IN_ALBUM",
}

Java

AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();

PHP

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

Liên quan đến mục nội dung đa phương tiện

Việc chỉ định vị trí mà relativeMediaItem đề cập đến một vị trí tương ứng với mục nội dung nghe nhìn. Các mục này được thêm sau mục nội dung đa phương tiện đã chỉ định.

Kiến trúc chuyển trạng thái đại diện (REST)

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

Java

AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);

PHP

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

So với mục làm giàu

Việc chỉ định relativeEnrichmentItemId đề cập đến một vị trí tương ứng với một mục làm giàu. Các mục này được thêm sau mục làm giàu đã chỉ định.

Kiến trúc chuyển trạng thái đại diện (REST)

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

Java

AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);

PHP

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

Sửa đổi tính năng làm giàu

Hiện tại, chưa có cách sửa đổi tính năng làm phong phú. Tuy nhiên, sau khi làm giàu đã được tạo và thêm vào anbom, người dùng có thể sửa đổi các tính năng bổ sung thông qua ứng dụng Google Photos.