- HTTP リクエスト
- リクエストの本文
- レスポンスの本文
- 認可スコープ
- フィルタ
- DateFilter
- 日付
- DateRange
- ContentFilter
- ContentCategory
- MediaTypeFilter
- MediaType
- FeatureFilter
- 機能
- 試してみる
ユーザーの Google フォト ライブラリのメディア アイテムを検索します。フィルタが設定されていない場合は、ユーザーのライブラリ内のすべてのメディア アイテムが返されます。アルバムが設定されている場合、指定したアルバム内のすべてのメディア アイテムが返されます。フィルタを指定すると、ユーザーのライブラリ内にある、フィルタに一致するメディア アイテムが表示されます。アルバムとフィルタの両方を設定すると、リクエストでエラーが発生します。
HTTP リクエスト
POST https://photoslibrary.googleapis.com/v1/mediaItems:search
この URL は gRPC Transcoding 構文を使用します。
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 |
---|
{
"albumId": string,
"pageSize": integer,
"pageToken": string,
"filters": {
object ( |
フィールド | |
---|---|
albumId |
アルバムの ID。設定すると、指定したアルバム内にあるすべてのメディア アイテムがリストされます。フィルタと組み合わせて設定することはできません。 |
pageSize |
レスポンスで返されるメディア アイテムの最大数。指定した数よりも少ないメディア アイテムが返される場合があります。デフォルトの |
pageToken |
結果の次のページを取得するための連続トークン。これをリクエストに追加すると、 |
filters |
リクエストに適用するフィルタ。 |
orderBy |
検索結果の並べ替え順序を指定するオプション フィールド。 このパラメータで使用できる追加のフィルタは、 |
レスポンスの本文
検索パラメータに一致するメディア アイテムのリスト。
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
JSON 表現 |
---|
{
"mediaItems": [
{
object ( |
フィールド | |
---|---|
mediaItems[] |
出力専用。検索パラメータに一致するメディア アイテムのリスト。 |
nextPageToken |
出力専用。このトークンを使用して、メディア アイテムの次のセットを取得します。このフィールドは、次のリクエストで利用可能なメディア アイテムが存在することを示す唯一の信頼できる情報です。 |
認可スコープ
次の OAuth スコープのいずれかが必要です。
https://www.googleapis.com/auth/photoslibrary
https://www.googleapis.com/auth/photoslibrary.readonly
https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata
フィルタ
メディア アイテムの検索に適用できるフィルタです。複数のフィルタ オプションを指定すると、AND 条件として扱われます。
JSON 表現 |
---|
{ "dateFilter": { object ( |
フィールド | |
---|---|
dateFilter |
作成日に基づいてメディア アイテムをフィルタします。 |
contentFilter |
コンテンツに基づいてメディア アイテムをフィルタします。 |
mediaTypeFilter |
メディアのタイプに基づいてメディア アイテムをフィルタします。 |
featureFilter |
機能に基づいてメディア アイテムをフィルタします。 |
includeArchivedMedia |
設定すると、ユーザーがアーカイブしたメディア アイテムが結果に含まれます。デフォルトは false です(アーカイブされたメディア アイテムは含まれません)。 |
excludeNonAppCreatedData |
設定すると、このアプリ以外で作成されたメディア アイテムが結果から除外されます。デフォルトは false です(すべてのメディア アイテムが返されます)。photoslibrary.readonly.appcreateddata スコープが使用されている場合、このフィールドは無視されます。 |
DateFilter
このフィルタは、返されるメディアに許可される日付または期間を定義します。特定の日付のセットと期間のセットを指定できます。メディア アイテムをキャプチャした日付を指定するメタデータなしでアップロードされたメディア アイテムは、日付フィルタを使用したクエリでは返されません。この場合、Google フォト サーバーへのアップロード時間はフォールバックとして使用されません。
JSON 表現 |
---|
{ "dates": [ { object ( |
フィールド | |
---|---|
dates[] |
メディア アイテムの作成日と一致する日付のリスト。リクエストごとに最大 5 つの日付を指定できます。 |
ranges[] |
メディア アイテムの作成日と一致する期間のリスト。リクエストごとに最大 5 つの期間を指定できます。 |
日付
カレンダーの日付全体を表します。月と年のみが重要な場合(2018 年 12 月全体など)は、day
を 0 に設定します。年のみが重要である場合(2018 年全体など)は、day
と month
を 0 に設定します。日と月のみ(記念日や誕生日など)が重要な場合は、year
を 0 に設定します。
サポート対象外: すべての値を 0 に設定する、month
のみを 0 に設定する、day
と year
の両方を同時に 0 に設定する。
JSON 表現 |
---|
{ "year": integer, "month": integer, "day": integer } |
フィールド | |
---|---|
year |
その日付の年。1~9999、または年のない日付を指定する場合は 0 にする必要があります。 |
month |
1 年の中の月。1~12、または月と日のない年を指定する場合は 0 にする必要があります。 |
day |
日。1 ~ 31 を指定し、対象の年月に対して有効な日である必要があります。特定の日を指定しない年と月を表す場合は 0 を指定します。 |
DateRange
日付の範囲を定義します。開始日と終了日は同じ形式にする必要があります。詳しくは Date
をご覧ください。
JSON 表現 |
---|
{ "startDate": { object ( |
フィールド | |
---|---|
startDate |
開始日(範囲の一部として含まれる)。記載されているいずれかの形式で指定します。 |
endDate |
終了日(期間の一部に含まれます)。開始日と同じ形式で指定する必要があります。 |
ContentFilter
このフィルタを使用すると、コンテンツ タイプに基づいてメディア アイテムを返すことができます。
含めるカテゴリのリストや除外するカテゴリのリストを指定できます。各リストでは、カテゴリは OR 条件として処理されます。
コンテンツ フィルタを includedContentCategories
: [c1, c2, c3] と指定すると、c1、c2、c3 のいずれかを含むメディア アイテムが取得されます。
コンテンツ フィルタを excludedContentCategories
: [c1, c2, c3] と指定すると、c1、c2、c3 のいずれかを含むメディア アイテムは除外されます。
一部のカテゴリを含み、同時に一部のカテゴリを除外することもできます。その場合、includedContentCategories
: [c1, c2] と excludedContentCategories
: [c3, c4] のように指定します。
上記の例では、(c1 または c2)かつ(c3 または c4)を含まないメディア アイテムが取得されます。includedContentategories
に指定したカテゴリを excludedContentCategories
に指定することはできません。
JSON 表現 |
---|
{ "includedContentCategories": [ enum ( |
フィールド | |
---|---|
includedContentCategories[] |
メディア アイテムの検索結果に含めるカテゴリのセット。セット内のアイテムは OR 条件として扱われます。リクエストごとに最大 10 個の |
excludedContentCategories[] |
メディア アイテムの検索結果から除外するカテゴリのセット。セット内のアイテムは OR 条件として扱われます。リクエストごとに最大 10 個の |
ContentCategory
事前定義済みのフィルタ可能なコンテンツ カテゴリのセットです。
列挙型 | |
---|---|
NONE |
デフォルトのコンテンツ カテゴリ。フィルタで他のカテゴリが使用されている場合、このカテゴリは無視されます。 |
LANDSCAPES |
風景を含むメディア アイテム。 |
RECEIPTS |
領収書を含むメディア アイテム。 |
CITYSCAPES |
都市の景観を含むメディア アイテム。 |
LANDMARKS |
ランドマークを含むメディア アイテム。 |
SELFIES |
自撮り写真であるメディア アイテム。 |
PEOPLE |
人物を含むメディア アイテム。 |
PETS |
ペットを含むメディア アイテム。 |
WEDDINGS |
結婚式のメディア アイテム。 |
BIRTHDAYS |
誕生日のメディア アイテムです。 |
DOCUMENTS |
ドキュメントを含むメディア アイテム。 |
TRAVEL |
旅行中に撮影したメディア アイテム。 |
ANIMALS |
動物を含むメディア アイテム。 |
FOOD |
食べ物を含むメディア アイテム。 |
SPORT |
スポーツ イベントのメディア アイテム。 |
NIGHT |
夜に撮影されたメディア アイテム。 |
PERFORMANCES |
パフォーマンスのメディア アイテム。 |
WHITEBOARDS |
ホワイトボードを含むメディア アイテム。 |
SCREENSHOTS |
スクリーンショットのメディア アイテム。 |
UTILITY |
実用に関連すると判断されたメディア アイテム。ドキュメント、スクリーンショット、ホワイトボードなどが含まれますが、これらに限定されません。 |
ARTS |
アートを含むメディア アイテム。 |
CRAFTS |
工芸品を含むメディア アイテム。 |
FASHION |
ファッションに関連するメディア アイテム。 |
HOUSES |
家を含むメディア アイテム。 |
GARDENS |
庭を含むメディア アイテム。 |
FLOWERS |
花を含むメディア アイテム。 |
HOLIDAYS |
休日に撮影されたメディア アイテム。 |
MediaTypeFilter
このフィルタでは、返されるメディア アイテムのタイプを定義します(動画や写真など)。サポートされるメディアタイプは 1 つのみです。
JSON 表現 |
---|
{
"mediaTypes": [
enum ( |
フィールド | |
---|---|
mediaTypes[] |
含めるメディア アイテムのタイプ。このフィールドにはメディアタイプを 1 つだけ指定できます。複数のメディアタイプを指定すると、エラーが発生します。 |
MediaType
検索可能なメディアタイプのセットです。
列挙型 | |
---|---|
ALL_MEDIA |
フィルタが適用されていない場合と同様に扱われます。すべてのメディアタイプが含まれます。 |
VIDEO |
動画と見なされるすべてのメディア アイテム。ユーザーが Google フォト アプリを使用して作成したムービーも含まれます。 |
PHOTO |
写真と見なされるすべてのメディア アイテム。.bmp、.gif、.ico、.jpg(他の綴りの場合も含む)、.tiff、.webp、特別な写真のタイプ(iOS の Live Photos、Android のモーション フォト、パノラマ、360° 写真など)が含まれます。 |
FeatureFilter
このフィルタでは、メディア アイテムに含まれている必要がある機能を定義します。
JSON 表現 |
---|
{
"includedFeatures": [
enum ( |
フィールド | |
---|---|
includedFeatures[] |
メディア アイテムの検索結果に含める機能のセット。セット内のアイテムは OR 条件として扱われ、指定された機能のいずれかに一致すると取得されます。 |
機能
フィルタできる機能のセットです。
列挙型 | |
---|---|
NONE |
フィルタが適用されていない場合と同様に扱われます。すべての機能が含まれます。 |
FAVORITES |
ユーザーが Google フォト アプリでお気に入りとしてマークしたメディア アイテム。 |