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 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
Để tạo album, ứng dụng của bạn phải yêu cầu ít nhất một trong những yêu cầu sau phạm vi uỷ quyền:
photoslibrary.appendonly
photoslibrary.sharing
Để thay đổi tiêu đề hoặc ảnh bìa của album sau khi tạo, hãy sử dụng
Phạm vi photoslibrary.edit.appcreateddata
.
Tạo album mới
Để tạo album, hãy gọi
albums.create
và bao gồ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ó cho tải các mục nội dung đa phương tiện lên đối với 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" }
Java
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 }
Thay đổi tiêu đề album và ảnh bìa
Để thay đổi tiêu đề hoặc ảnh bìa album, hãy tạo một album update
call
bằng
giá trị nhận dạng của anbom và bao gồm tên mới hoặc ảnh bìa mới
mã mục nội dung đa phương tiện trong yêu cầu. Bạn sẽ 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" }
Java
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 }
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 từ thư viện Google Photos của người dùng vào album bằng cách
đang 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.
Xin lưu ý rằng bạn chỉ có thể thêm mục nội dung nghe nhìn đã được được ứng dụng của bạn tải lên những anbom mà ứng dụng của bạn có tạo. Mục nội dung nghe nhìn cũng phải có trong thư viện của người dùng. Đối với các album được chia sẻ, chúng phải: thuộc sở hữu của người dùng hoặc người dùng phải là cộng tác viên đã tham gia album.
Để thêm các mục nội dung nghe nhìn vào album, hãy gọi
albums.batchAddMediaItems
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: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.
Java
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 }
Đang 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à bạn đã thêm khỏi album 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 đa phương tiện không hợp lệ. Từng phần không hỗ trợ thành công.
Xin lưu ý rằng bạn chỉ có thể xoá các mục nội dung nghe nhìn mà ứng dụng của bạn đã thêm vào album hoặc đã được tạo trong anbom trong khuôn khổ của tải lên. Cho album được chia sẻ, bạn chỉ có thể xoá các mục do các cộng tác viên khác thêm nếu bạn đang hành động thay mặt cho chủ sở hữu trong đĩa nhạc.
Để 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 }