보강 추가

보강 기능을 사용하면 애플리케이션에서 Google 포토의 앨범 내 사진의 구조와 프레젠테이션을 제어할 수 있습니다. 이를 통해 텍스트 또는 위치 주석과 함께 스토리를 전달하는 이미지를 정렬/그룹화하여 사용자에게 추가 컨텍스트를 제공할 수 있습니다.

필수 승인 범위

앱에서 만든 앨범에 보강 항목을 추가하려면 photoslibrary.appendonly 범위가 필요합니다. 범위에 관한 자세한 내용은 승인 범위를 참고하세요.

보강 유형

Google 포토는 앨범에서 텍스트, 위치, 지도 등 세 가지 유형의 보강 기능을 지원합니다.

텍스트 보강

텍스트 보강은 앨범에 주석을 달기 위해 삽입할 수 있는 일반 텍스트 문자열입니다.

Google 포토에 표시된 텍스트 보강의 스크린샷

위치 보강

위치 보강은 위치에 주석을 추가하는 데 삽입할 수 있는 마커와 장소의 이름입니다.

Google 포토에 표시된 위치 보강의 스크린샷

지도 보강

지도 보강은 지정된 출발지와 목적지가 포함된 지도이며 앨범에 삽입할 수 있습니다.

Google 포토에 표시된 지도 보강 기능의 스크린샷

위치

미디어 항목 및 앨범 보강 항목을 삽입하려면 앨범의 위치를 지정합니다. 미디어 항목의 경우 위치는 선택사항이지만 앨범을 보강하려면 위치를 지정해야 합니다.

게재위치는 미디어 항목을 만들 때 또는 보강 항목을 추가할 때만 지정할 수 있습니다. 앨범의 기존 미디어 항목은 재구성할 수 없으므로 항목을 추가할 때 항목의 위치를 설정하는 것이 중요합니다.

앨범의 시작

미디어/보강 항목을 앨범 시작 부분에 절대 위치로 추가할 수 있습니다.

앨범 끝

미디어/보강 항목을 절대 위치로 앨범 끝에 추가할 수 있습니다.

미디어 항목 기준

미디어/보강 항목은 앨범에서의 위치 이후에 시작되는 미디어 항목을 기준으로 추가할 수 있습니다.

보강 항목 기준

미디어/보강 항목은 앨범의 위치 이후에 시작되는 보강 항목을 기준으로 추가할 수 있습니다.

앨범에 보강 자료 추가

보강은 한 번에 하나씩 추가되며 앨범의 위치에 추가해야 합니다. 앨범에 보강 항목을 추가하려면 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",
  }
}

지원되는 보강

텍스트 보강

텍스트 보강에는 다음 예와 같이 단일 텍스트 문자열(1,000자(영문 기준) 이하)이 포함됩니다.

REST

{
  "text": "Text to be shown"
}

자바

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

자바

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

지도 보강

지도 보강은 각각 이름, 위도, 경도로 구성된 두 위치를 표시합니다. 위치 보강과 마찬가지로 출처 및 destination 내의 locationName는 500자(영문 기준)로 제한됩니다.

REST

{
  "origin": {
    "locationName": "Australia",
    "latlng": {
      "latitude": "-21.197",
      "longitude": "95.821"
    }
  },
  "destination": {
    "locationName": "San Francisco",
    "latlng": {
      "latitude": "37.757",
      "longitude": "122.507"
    }
  }
}

자바

// 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",
}

자바

AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();

PHP

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

앨범 끝

위치 LAST_IN_ALBUM는 앨범의 끝을 나타냅니다. 여기에 있는 항목이 사용자에게 마지막으로 표시됩니다.

REST

{
  "position": "LAST_IN_ALBUM",
}

자바

AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();

PHP

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

미디어 항목 기준

위치 relativeMediaItem를 지정하면 미디어 항목을 기준으로 한 위치를 참조합니다. 항목은 지정된 미디어 항목 뒤에 추가됩니다.

REST

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

자바

AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);

PHP

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

보강 항목 기준

relativeEnrichmentItemId를 지정하면 보강 항목을 기준으로 한 위치를 나타냅니다. 항목은 지정된 보강 항목 뒤에 추가됩니다.

REST

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

자바

AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);

PHP

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

보강 수정

현재 보강 기능을 수정할 방법은 없습니다. 하지만 보강 항목이 생성되고 앨범에 추가되면 사용자는 Google 포토 앱을 통해 보강 항목을 수정할 수 있습니다.