アルバムを管理する

Google フォトでは、アルバムを使用して写真やその他のメディア アイテムを整理できます。 メディア アイテムは 1 つ以上のアルバムに関連付けることができます。関連付けを始めるには メディアアイテムをアルバムに追加する場合は、まずアルバムを作成する必要があります。

必要な認可スコープ

アルバムを作成するには、photoslibrary.appendonly スコープが必要です。

作成後にアルバムのタイトルやカバー写真を変更するには、photoslibrary.edit.appcreateddata スコープが必要です。

スコープの詳細については、認可スコープをご覧ください。

新しいアルバムを作成

アルバムを作成するには、 albums.create と以下を含む titletitle は 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
}

成功した場合、レスポンスは Album:

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

アルバムのタイトルとカバー写真を変更する

アルバムのタイトルまたはカバー写真を変更するには、アルバムの ID を使用して album update call を作成し、新しいタイトルまたは新しいカバー写真のメディア アイテム ID をリクエストに含めます。photoslibrary.edit.appcreateddataを使用する必要があります authorization スコープで変更が行われます。

アルバム タイトルは 500 文字以内で指定してください。メディア アイテムをカバーする アルバムのオーナーがオーナーで、カバーとなるアルバムに属している できます。

REST

アルバムの title を更新するための PATCH リクエスト ヘッダーは次のとおりです。 coverPhotomediaItemId

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

このリクエストは、URL の 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

無効なメディア アイテムを指定すると、リクエスト全体が失敗します。部分的な成功はサポートされていません。

アルバムからメディア アイテムを削除するには、メディア アイテムとアルバムの識別子を指定して 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 レスポンスを返し、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
}