앨범 관리

Google 포토에서 앨범을 사용하여 사진 및 기타 미디어 항목을 정리할 수 있습니다. 미디어 항목은 하나 이상의 앨범과 연결될 수 있습니다. 연결 시작 미디어 항목이 있는 경우 먼저 앨범을 만들어야 합니다.

필수 승인 범위

앨범을 만들려면 앱에서 다음 중 하나 이상을 요청해야 합니다. 승인 범위:

  • photoslibrary.appendonly
  • photoslibrary.sharing

앨범을 만든 후 제목이나 표지 사진을 변경하려면 다음을 사용하세요. photoslibrary.edit.appcreateddata 범위.

새 앨범 만들기

앨범을 만들려면 albums.createtitle. 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"
}

자바

try {
  Album createdAlbum = photosLibraryClient.createAlbum("My Album");
  // The createdAlbum object contains properties of an album
  String productUrl = createdAlbum.getProductUrl();
  // coverPhotoBaseUrl shouldn't be used as is. Append parameters to base URLs before use
  String albumCoverImage = createdAlbum.getCoverPhotoBaseUrl() + "=w2048-h1024";
  boolean isWriteable = createdAlbum.getIsWriteable();
} catch (ApiException e) {
  // Handle error
}

PHP

try {
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);
    // The createdAlbum object contains properties of an album
    $albumId = $createdAlbum->getId();
    $productUrl = $createdAlbum->getProductUrl();
    // coverPhotoBaseUrl shouldn't be used as is. Append parameters to base URLs before use
    $albumCoverImage = $createdAlbum->getCoverPhotoBaseUrl() . '=w2048-h1024';
    $isWriteable = $createdAlbum->getIsWriteable();
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

앨범 제목 및 표지 사진 변경

앨범 제목이나 표지 사진을 변경하려면 album update call을 이름을 지정하고 새 제목 또는 새 표지 사진의 미디어 항목 ID입니다. 이 작업을 수행하려면 photoslibrary.edit.appcreateddata 승인 범위에 있어야 합니다.

앨범 제목은 500자(영문 기준) 이하여야 합니다. 미디어 항목 커버 앨범 소유자가 소유해야 하며 표지가 될 앨범에 속해야 합니다. 정의합니다.

REST

다음은 앨범의 titlecoverPhotomediaItemId

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

자바

try {
  // Update the cover photo of the album given a MediaItem object.
  Album updatedAlbum = photosLibraryClient.updateAlbumCoverPhoto(album, newCoverMediaItem);

  // Alternatively, you can update the cover photo of the album given a media item ID.
  // The specified media item identifier must be not null or empty.
  // Album updatedAlbum = photosLibraryClient.updateAlbumCoverPhoto(album, "new-cover-media-item-id");
} catch (ApiException e) {
  // Handle error
}
try {
  // Update the title of the album.
  // The new title must not be null or empty.
  Album updatedAlbum = photosLibraryClient.updateAlbumTitle(album, "new-album-title");
} catch (ApiException e) {
  // Handle error
}

PHP

try {

    // ID of the album to update.
    $albumId = "ALBUM_ID";

    // Media item ID of the new cover photo.
    // Must not be null or empty.
    $newCoverMediaItemId = "new-cover-media-item-id";

    // Update the cover photo of the album.
    $mediaItem = $photosLibraryClient->updateAlbumCoverPhoto($albumId, $newCoverMediaItemId);

} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}
try {

    // ID of the album to update.
    $albumId = "ALBUM_ID";

    // New title of the album.
    // Must not be null or empty.
    $newTitle = "new-album-title";

    // Update the title of the album.
    $mediaItem = $photosLibraryClient->updateAlbumTitle($albumId, $newTitle);

} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

앨범에 미디어 항목 추가

다음 방법으로 사용자의 Google 포토 라이브러리에 있는 미디어 항목을 앨범에 추가할 수 있습니다. 통화 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 성공 상태

자바

try {
  // List of media item IDs to add
  List<String> mediaItemIds = Arrays
      .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID");

  // ID of the album to add media items to
  String albumId = "ALBUM_ID";

  // Add all given media items to the album
  photosLibraryClient.batchAddMediaItemsToAlbum(albumId, mediaItemIds);

} catch (ApiException e) {
  // An exception is thrown if the media items could not be added
}

PHP

try {

    // List of media item IDs to add
    $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"];

    // ID of the album to add media items to
    $albumId = "ALBUM_ID";

    // Add all given media items to the album
    $response = $photosLibraryClient->batchAddMediaItemsToAlbum($albumId, $mediaItemIds);

} catch (\Google\ApiCore\ApiException $e) {
    // Handle Error
}

앨범에서 미디어 항목 삭제

다음을 호출하여 앨범에서 추가한 미디어 항목을 삭제할 수 있습니다. 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
}