보강 기능을 사용하면 애플리케이션에서 Google 포토의 앨범 내 사진의 구조와 프레젠테이션을 제어할 수 있습니다. 이를 통해 텍스트 또는 위치 주석과 함께 스토리를 전달하는 이미지를 정렬/그룹화하여 사용자에게 추가 컨텍스트를 제공할 수 있습니다.
필수 승인 범위
앱에서 만든 앨범에 보강 항목을 추가하려면 photoslibrary.appendonly
범위가 필요합니다. 범위에 관한 자세한 내용은 승인 범위를 참고하세요.
보강 유형
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 포토 앱을 통해 보강 항목을 수정할 수 있습니다.