Google 포토에서 앨범을 사용하여 사진 및 기타 미디어 항목을 정리할 수 있습니다. 미디어 항목은 하나 이상의 앨범과 연결될 수 있습니다. 연결 시작 미디어 항목이 있는 경우 먼저 앨범을 만들어야 합니다.
필수 승인 범위
앨범을 만들려면 photoslibrary.appendonly
범위가 필요합니다.
앨범을 만든 후 앨범의 제목이나 표지 사진을 변경하려면 photoslibrary.edit.appcreateddata
범위가 필요합니다.
범위에 대한 자세한 내용은 승인을 참조하세요. 범위를 참조하세요.
새 앨범 만들기
앨범을 만들려면
albums.create
및
title
. title
는 500자(영문 기준)로 제한됩니다.
호출하면 앨범이 반환됩니다. 내 앱 은 이 정보의 앨범 ID를 저장하고 이를 미디어 업로드에 사용할 수 있습니다. 항목을 특정 앨범에 추가합니다.
REST
다음은 POST 요청의 헤더입니다.
POST https://photoslibrary.googleapis.com/v1/albums Content-type: application/json Authorization: Bearer oauth2-token
요청 본문은 다음과 같습니다.
{ "album": { "title": "new-album-title" } }
성공하면 응답이 앨범:
{ "productUrl": "album-product-url", "id": "album-id", "title": "album-title", "isWriteable": "whether-you-can-write-to-this-album" }
앨범 세부정보 가져오기
앱에서 만든 기존 앨범의 세부정보를 가져오려면 다음을 호출합니다.
albums.get
를 사용하고
가져오려는 앨범의 albumId
입니다.
호출하면 앨범이 반환됩니다.
REST
다음은 GET 요청의 헤더입니다.
GET https://photoslibrary.googleapis.com/v1/albums/{albumId} Content-type: application/json Authorization: Bearer oauth2-token
요청 본문은 다음과 같습니다.
{ "albumId": album-id }
성공하면 응답이 앨범:
{ "id": album-id, "title": album-title, "productUrl": album-product-url, "mediaItemsCount": media-items-count, "coverPhotoBaseUrl": cover-photo-base-url, "coverPhotoMediaItemId": cover-photo-media-item-id }
앨범 제목 및 표지 사진 변경
앨범 제목이나 표지 사진을 변경하려면 album update
call
을
을 선택하고 새 제목이나 새 표지 사진의 미디어 항목 ID를
합니다. photoslibrary.edit.appcreateddata
승인 범위에 있어야 합니다.
앨범 제목은 500자(영문 기준) 이하여야 합니다. 미디어 항목 커버 앨범 소유자가 소유해야 하며 표지가 될 앨범에 속해야 합니다. 정의합니다.
REST
다음은 앨범의 title
및
coverPhotomediaItemId
입니다.
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
이 요청은 다음을 포함하여 업데이트되는 속성을 결정합니다.
필드의 updateMask
매개변수로 나타낸 필드 마스크.
URL입니다. 업데이트되는 각 앨범 속성에 updateMask
매개변수를 전달해야 합니다.
업데이트하는 각 속성에 대한 세부정보를 요청 본문입니다.
{ "title": "new-album-title", "coverPhotoMediaItemId": "new-cover-media-item-id" }
성공하면 응답은 업데이트된 album
세부정보를 반환합니다.
{ "id": "album-id", "title": "new-album-title", "productUrl": "album-product-url", "isWriteable": "true-if-user-can-write-to-this-album", "mediaItemsCount": "number-of-media-items-in-album", "coverPhotoBaseUrl": "cover-photo-base-url_use-only-with-parameters", "coverPhotoMediaItemId": "new-cover-media-item-id" }
앨범에 미디어 항목 추가
앱에서 만든 미디어 항목을 앱에서 만든 앨범에
통화
albums.batchAddMediaItems
미디어 항목은 이 호출에 지정된 순서대로 앨범 끝에 추가됩니다.
잘못된 미디어 항목이나 앨범이 지정된 경우 전체 요청이 실패합니다. 부분 성공은 지원되지 않습니다.
각 앨범은 최대 20,000개의 미디어 항목을 포함할 수 있습니다. 포함된 항목 추가 요청 실패하면 실패합니다
앨범에 미디어 항목을 추가하려면
albums.batchAddMediaItems
드림
미디어 항목 및 앨범의 식별자로
연결됩니다.
REST
다음은 POST 요청의 헤더입니다.
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems Content-type: application/json Authorization: Bearer oauth2-token
요청 본문은 다음과 같습니다.
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
성공하면 응답은 빈 JSON 응답과 HTTP 성공 상태
앨범에서 미디어 항목 삭제
albums.batchRemoveMediaItems
를 호출하여 앱에서 만든 앨범에 앱에서 만든 미디어 항목을 삭제할 수 있습니다.
잘못된 미디어 항목이 지정되면 전체 요청이 실패합니다. 부분 성공은 지원되지 않습니다.
앨범에서 미디어 항목을 삭제하려면 다음을 호출합니다.
albums.batchRemoveMediaItems
드림
미디어 항목 및 앨범의 식별자로
연결됩니다.
REST
다음은 POST 요청의 헤더입니다.
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems Content-type: application/json Authorization: Bearer oauth2-token
요청 본문은 다음과 같습니다.
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
성공하면 응답은 빈 JSON 응답과 HTTP 성공 상태
자바
try { // List of media item IDs to remove List<String> mediaItemIds = Arrays .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"); // ID of the album to remove media items from String albumId = "ALBUM_ID"; // Remove all given media items from the album photosLibraryClient.batchRemoveMediaItemsFromAlbum(albumId, mediaItemIds); } catch (ApiException e) { // An exception is thrown if the media items could not be removed }
PHP
try { // List of media item IDs to remove $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"]; // ID of the album to remove media items from $albumId = "ALBUM_ID"; // Remove all given media items from the album $response = $photosLibraryClient->batchRemoveMediaItemsFromAlbum($albumId, $mediaItemIds); } catch (\Google\ApiCore\ApiException $e) { // Handle Error }