管理相簿

在 Google 相簿中,您可以使用相簿來整理相片和其他媒體項目。一個媒體項目可以與一或多本相簿建立關聯。如要開始將媒體項目與相簿建立關聯,請先建立相簿。

必要的授權範圍

建立相簿需要 photoslibrary.appendonly 範圍。

建立相簿後,如要變更相簿的標題或封面相片,就必須使用 photoslibrary.edit.appcreateddata 範圍。

如要進一步瞭解範圍,請參閱「授權範圍」。

建立新相簿

如要建立相簿,請呼叫 albums.create,並加入 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"
}

擷取相簿詳細資料

如要擷取應用程式建立的現有相簿詳細資料,請呼叫 albums.get,並納入要擷取的相簿 albumId

此呼叫會傳回相簿

REST

以下是 GET 要求的標頭:

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

要求主體如下所示:

{
  "albumId": album-id
}

如果成功,回應會傳回 專輯

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

變更相簿標題和封面相片

如要變更相簿標題或封面相片,請將 album update call 設為以下的 ID: 並在相簿中提供新標題或新封面相片的媒體項目 ID 要求。您必須使用 photoslibrary.edit.appcreateddata 授權範圍進行變更。

相簿名稱長度不可超過 500 個字元。封面媒體項目 擁有者必須是相簿擁有者,且屬於該相簿的擁有者,且屬於該相簿的擁有者 。

REST

以下的 PATCH 要求標頭可用於更新相簿的 titlecoverPhotomediaItemId

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

將媒體項目新增至相簿

您可以將應用程式建立的媒體項目加入應用程式建立的相簿,步驟如下: 撥號中 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 成功狀態。

從相簿中移除媒體項目

您可以呼叫 albums.batchRemoveMediaItems,將應用程式建立的媒體項目移除至應用程式建立的相簿。

如果指定無效的媒體項目,整個要求都會失敗。系統不支援部分成功。

如要從相簿中移除媒體項目,請使用媒體項目和相簿的 ID 呼叫 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
}