你可以使用 Google 相簿中的相簿整理相片和其他媒體項目。 一個媒體項目可以與一或多本相簿建立關聯。如要開始連結 如果媒體項目包含相簿,則需要先建立相簿。
必要的授權範圍
如要建立相簿,應用程式必須至少要求下列其中一項 授權範圍:
photoslibrary.appendonly
photoslibrary.sharing
如要在建立相簿後變更標題或封面相片,請使用
photoslibrary.edit.appcreateddata
範圍。
建立新相簿
如要建立相簿,請撥打
albums.create
和 include
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" }
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 }
變更相簿名稱和封面相片
若要變更相簿標題或封面相片,請album update
call
使用
,包括新標題或是新封面相片的
請求中的媒體項目 ID您必須使用
photoslibrary.edit.appcreateddata
授權範圍進行變更。
相簿名稱長度不可超過 500 個字元。封面媒體項目 擁有者必須是相簿擁有者,且屬於該相簿的擁有者,且屬於該相簿的擁有者 。
REST
以下的 PATCH 要求標頭可用於更新相簿的 title
和
coverPhotomediaItemId
。
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
這項要求會決定要更新哪些屬性,方法是加入
欄位遮罩,以 updateMask
參數中的
網址。每個 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" }
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 }
將媒體項目新增至相簿
你可以透過以下方式,將使用者 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 回應,以及 成功狀態。
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 }
從相簿中移除媒體項目
你可以透過通話移除先前從相簿新增的媒體項目
albums.batchRemoveMediaItems
。
如果指定無效的媒體項目,整個要求都會失敗。部分支援 但不支援 Gemini
請注意,您只能移除自家應用程式的媒體項目 已新增到相簿 或是 在相簿的所屬相簿 上傳。相簿 的共用項目,只有在您: 。 擁有者 相簿。
如要移除相簿中的媒體項目,請撥打
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 回應,以及 成功狀態。
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 }