アプリによって作成されたメディア アイテムとアルバムを一覧表示する

必要な認可スコープ

アプリによって作成されたコンテンツを一覧表示するには photoslibrary.readonly.appcreateddata が必要です あります。スコープの詳細については、承認 スコープ

概要

Library API を使用すると、アプリが作成したメディア アイテムを一覧表示してアクセスできます。

メディア アイテムを一覧表示する主な機能は次のとおりです。

ライブラリとアルバムのコンテンツをリストすると、メディア アイテムのリストが返されます。 アルバムに含まれるエンリッチメント 含まれません。メディア アイテムは、写真、動画、その他のメディアを記述します。 mediaItem には、アイテムへの直接リンクと Google フォト、その他の関連するメタデータ。詳細については、次をご覧ください: メディア アイテムにアクセスする mediaItems

アプリによって作成されたアルバムを一覧表示する

以下を使用して、アプリによって作成されたアルバムをリストできます。 albums.list

REST

以下はリクエストのサンプルです。

GET https://photoslibrary.googleapis.com/v1/albums

このリクエストでは次の結果が返されます。

{
  "albums": [
    {
      "id": "album-id",
      "title": "album-title",
      "productUrl": "album-product-url",
      "coverPhotoBaseUrl": "album-cover-base-url_do-not-use-directly",
      "coverPhotoMediaItemId": "album-cover-media-item-id",
      "isWriteable": "whether-you-can-write-to-this-album",
      "mediaItemsCount": "number-of-media-items-in-album"
    },
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

返された各アルバムには ID があり、その ID を使用して、 アルバムの内容を一覧表示するをご覧ください。また、 タイトルと、そこに含まれるメディア アイテムの数が含まれます。

productUrl は、Google フォト内のアルバムを指します。これは、 表示されます。

coverPhotoMediaItemId には、メディア アイテムが格納されます。 表紙を表す ID このアルバムの写真。このカバー画像にアクセスするには、coverPhotoBaseUrl を使用します。 次のように指定せずに coverPhotoBaseUrl を直接使用しないでください。 追加のパラメータ

レスポンスには nextPageToken も含まれます。詳細については、次をご覧ください: ページ分け

空のアルバムのレスポンスでは、mediaItemsCountcoverPhotoMediaItemId がデフォルトで 0 に設定され、REST レスポンスから除外されます。また、coverPhotoBaseUrl はデフォルトのプレースホルダを指しています。 説明します。

アプリによって作成されたライブラリ コンテンツを一覧表示する

ユーザーの Google フォト ライブラリにあるすべてのメディア アイテムを一覧表示できます 必要があります。アーカイブされたアイテムと削除済みアイテムは除外されます。マイページ コンテンツ、日付、その他のプロパティに基づいて、 フィルタの適用をご覧ください。

メディア アイテムを一覧表示するには、 mediaItems.list

REST

以下はリクエストのサンプルです。

GET https://photoslibrary.googleapis.com/v1/mediaItems
Content-type: application/json
Authorization: Bearer oauth2-token
{
  "pageSize": "100",
}

GET リクエストは次のレスポンスを返します。

{
  "mediaItems": [
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

レスポンスには、新しい順に並べられたメディア アイテムのリストが含まれます。 詳細については、次をご覧ください: mediaItems。また、 nextPageToken が含まれています。詳しくは、 ページ分け

アルバムの内容を一覧表示する

アルバム内のすべてのメディア アイテムを一覧表示するには、検索リクエストに albumId フィールドを追加します。albumId の詳細については、リスティングをご覧ください。 アルバムalbumId が無効な場合、Bad Request エラーが返されます。 返されます。ID が有効であるが、認証済みのアルバムが存在しない場合 Not Found エラーが返されます。エラーについて詳しくは、 パフォーマンスに関するヒントベスト プラクティス

REST

以下はリクエストのサンプルです。

POST https://photoslibrary.googleapis.com/v1/mediaItems:search
Content-type: application/json
Authorization: Bearer oauth2-token
{
  "pageSize": "100",
  "albumId": "album-id"
}

POST リクエストは次のレスポンスを返します。

{
  "mediaItems": [
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

レスポンスには、nextPageToken とメディア アイテムのリストが含まれます。次の場合に高評価を取り消します メディア アイテムは、 できます。詳しくは、mediaItemsページ分けをご覧ください。お客様は Google フォトのインターフェース。

albumId が設定されている場合、アルバムのコンテンツをリストするときにフィルタを適用することはできません。 この操作を行うと、Bad Request エラーが発生します。

REST のページ分け

パフォーマンスを向上させるため、多数の結果を返すメソッド( list メソッド)では、レスポンスがページ分けされることがあります。各結果の最大件数は、 pageSize パラメータで指定しています。

mediaItems.searchmediaItems.list の呼び出しの場合、デフォルトのページサイズは 25 個。レスポンスのサイズと格納されるデータ量のバランスから、このページサイズをおすすめします。メディア アイテムの最大ページサイズ 最大 100 アイテムです。

アルバムをリストする際のデフォルトおよび推奨のページサイズは 20 アルバムで、 アルバムは 50 枚までです

使用可能な結果の数がページサイズより大きい場合、レスポンスは nextPageToken が含まれるため、アプリケーションに対して、 それより多くの結果がサーバーから取得されます。

パラメータで後続のリクエストに nextPageToken を追加する必要があります。 pageToken を返すこともできます。pageToken を一緒に指定する その他のパラメータは、 クエリ パラメータとして指定できます。

リクエスト #1

{
  "pageSize": "5",
  "filters": { … }
}

回答 1

{
  "mediaItem": [ … ],
  "nextPageToken": "next-page-token"
}

リクエスト #2

{
  "pageSize": "5",
  "filters": { … },
  "pageToken": "page-token"
}

回答 2

{
  "mediaItem": [ … ],
  "nextPageToken": "next-page-token"
}

nextPageToken オブジェクトがなくなるまで、このパターンを続けます。

nextPageToken は同じリクエストに対してのみ有効です。パラメータに 変更すると、以前に使用した nextPageToken を同じ リクエストできます。