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ể liên kết với một hoặc nhiều album. Để bắt đầu liên kết các mục nội dung nghe nhìn với một album, trước tiên, bạn cần tạo album đó.
Phạm vi uỷ quyền bắt buộc
Bạn cần có phạm vi photoslibrary.appendonly
để tạo album.
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 Phạm vi uỷ quyền.
Tạo album mới
Để tạo một album, hãy gọi albums.create
và thêm title
. Xin lưu ý rằng title
bị giới hạn ở 500 ký tự.
Lệnh gọi này trả về một đĩa nhạc. Ứng dụng của bạn có thể lưu trữ mã nhận dạng album từ thông tin này và sử dụng mã nhận dạng đó để tải các mục nội dung nghe nhìn lên album cụ thể.
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 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 thông tin chi tiết về album
Để truy xuất thông tin chi tiết về một album hiện có do ứng dụng của bạn tạo, hãy gọi albums.get
và thêm albumId
của album mà bạn muốn tìm nạp.
Cuộc gọi trả về một album.
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 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 củ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 phạm vi uỷ quyền photoslibrary.edit.appcreateddata
để thực hiện thay đổi.
Tiêu đề đĩa nhạc không được dài quá 500 ký tự. Các mục nội dung nghe nhìn dùng làm ảnh bìa phải thuộc quyền sở hữu của chủ sở hữu album và thuộc về album mà chúng sẽ làm ảnh bìa.
REST
Sau đây là tiêu đề yêu cầu PATCH để cập nhật title
và coverPhotomediaItemId
của một đĩa nhạc.
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
Yêu cầu này xác định những thuộc tính đang được cập nhật bằng cách bao gồm một mặt nạ trường, được biểu thị bằng các tham số updateMask
trong URL. Bạn cần chuyển tham số updateMask
cho từng thuộc tính album đang cập nhật.
Đối với mỗi cơ sở lưu trú mà bạn đang cập nhật, hãy thêm thông tin chi tiết của cơ sở lưu trú đó vào 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ề thông tin chi tiết về album
đã cập nhậ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 nghe nhìn sẽ được thêm vào cuối album theo thứ tự được 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. Không hỗ trợ 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. Các yêu cầu thêm các mục khác vượt quá giới hạn này 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.
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 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ề một phản hồi JSON trống và trạng thái Thành công HTTP.
Xoá 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 do ứ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 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 nghe nhìn không hợp lệ. Chúng tôi không hỗ trợ nếu thành công một phần.
Để xoá các mục nội dung nghe nhìn khỏi một album, hãy gọi
albums.batchRemoveMediaItems
bằng giá trị nhận dạng của các mục nội dung nghe nhìn và album.
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 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ề một phản hồi JSON trống và trạng thái Thành công HTTP.
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 }