Quản lý album

Trong Google Photos, bạn có thể sắp xếp ảnh và các mục nội dung nghe nhìn khác bằng album. Một mục nội dung nghe nhìn có thể được liên kết với một hoặc nhiều album. Để bắt đầu liên kết mục nội dung nghe nhìn với album, trước tiên, bạn cần tạo album.

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

Việc tạo album cần có phạm vi photoslibrary.appendonly.

Bạn cần có phạm vi photoslibrary.edit.appcreateddata để thay đổi tiêu đề hoặc ảnh bìa của album sau khi tạo.

Để biết thêm thông tin về phạm vi, hãy xem phần Uỷ quyền các phạm vi.

Tạo album mới

Để tạo một album, hãy gọi albums.create và thêm title. Lưu ý: title chỉ được phép có tối đa 500 ký tự.

Cuộc gọi trả về một album. Ứng dụng của bạn có thể lưu trữ ID anbom từ thông tin này và sử dụng nó để tải nội dung nghe nhìn lên ảnh hoặc video vào album cụ thể.

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

Dưới đây là tiêu đề của yêu cầu POST:

POST https://photoslibrary.googleapis.com/v1/albums
Content-type: application/json
Authorization: Bearer oauth2-token

Nội dung yêu cầu sẽ có dạng như sau:

{
  "album": {
    "title": "new-album-title"
  }
}

Nếu thành công, phản hồi sẽ trả về một đĩa nhạc:

{
  "productUrl": "album-product-url",
  "id": "album-id",
  "title": "album-title",
  "isWriteable": "whether-you-can-write-to-this-album"
}

Truy xuất chi tiết album

Để truy xuất thông tin chi tiết của album hiện có do ứng dụng của bạn tạo, hãy gọi albums.get và đưa vào albumId của album mà bạn muốn tìm nạp.

Cuộc gọi trả về một album.

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

Dưới đây là tiêu đề của một yêu cầu GET:

GET https://photoslibrary.googleapis.com/v1/albums/{albumId}
Content-type: application/json
Authorization: Bearer oauth2-token

Nội dung yêu cầu sẽ có dạng như sau:

{
  "albumId": album-id
}

Nếu thành công, phản hồi sẽ trả về một đĩa nhạc:

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

Thay đổi tiêu đề và ảnh bìa album

Để thay đổi tiêu đề hoặc ảnh bìa của album, hãy tạo một album update call có giá trị nhận dạng của album và thêm tiêu đề mới hoặc mã mục nội dung nghe nhìn của ảnh bìa mới vào yêu cầu. Bạn cần sử dụng photoslibrary.edit.appcreateddata uỷ quyền để thực hiện thay đổi.

Tiêu đề album không được dài quá 500 ký tự. Ảnh bìa các mục nội dung nghe nhìn phải thuộc sở hữu của chủ sở hữu album và thuộc về album mà chúng sẽ là bìa cho.

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

Đây là tiêu đề của yêu cầu PATCH để cập nhật title của một album và coverPhotomediaItemId.

PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId

Yêu cầu này xác định những cơ sở lưu trú sẽ được cập nhật bằng cách cung cấp một mặt nạ trường, được biểu thị bằng các tham số updateMask trong URL. Bạn cần truyền tham số updateMask cho mỗi giao dịch thuộc tính anbom đang được cập nhật.

Đối với mỗi tài sản mà bạn đang cập nhật, hãy thêm thông tin chi tiết về tài sản đó trong nội dung của yêu cầu:

{
  "title": "new-album-title",
  "coverPhotoMediaItemId": "new-cover-media-item-id"
}

Nếu thành công, phản hồi sẽ trả về album đã cập nhật chi tiết:

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

Thêm mục nội dung nghe nhìn vào album

Bạn có thể thêm các mục nội dung nghe nhìn do ứng dụng tạo vào các album do ứng dụng tạo bằng cách gọi albums.batchAddMediaItems. Các mục nội dung đa phương tiện được thêm vào cuối album theo thứ tự đã cung cấp trong lệnh gọi này.

Toàn bộ yêu cầu sẽ không thành công nếu một mục nội dung nghe nhìn hoặc album không hợp lệ được chỉ định. Chúng tôi không hỗ trợ nếu thành công một phần.

Mỗi album có thể chứa tối đa 20.000 mục nội dung nghe nhìn. Yêu cầu thêm các mục khác vượt quá giới hạn này thì đều sẽ không thành công.

Để thêm các mục nội dung nghe nhìn vào một album, hãy gọi albums.batchAddMediaItems với giá trị nhận dạng của các mục nội dung nghe nhìn và album.

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

Dưới đây là tiêu đề của yêu cầu POST:

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

Nội dung yêu cầu sẽ có dạng như sau:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Nếu thành công, phản hồi sẽ trả về phản hồi JSON trống và HTTP Trạng thái thành công.

Xoá các mục nội dung nghe nhìn khỏi album

Bạn có thể xoá các mục nội dung nghe nhìn mà ứng dụng của bạn tạo vào các album do ứng dụng của bạn tạo bằng cách đang gọi albums.batchRemoveMediaItems.

Toàn bộ yêu cầu sẽ không thành công nếu bạn chỉ định các mục nội dung đa phương tiện không hợp lệ. Từng phần không hỗ trợ thành công.

Để xoá mục nội dung nghe nhìn khỏi album, hãy gọi albums.batchRemoveMediaItems bằng giá trị nhận dạng của các mục nội dung đa phương tiện và album.

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

Dưới đây là tiêu đề của yêu cầu POST:

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

Nội dung yêu cầu sẽ có dạng như sau:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Nếu thành công, phản hồi sẽ trả về phản hồi JSON trống và HTTP Trạng thái thành công.

Java

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
}