- HTTP 要求
- 要求主體
- 回應主體
- 授權範圍
- 篩選器
- DateFilter
- 日期
- DateRange
- ContentFilter
- ContentCategory
- MediaTypeFilter
- MediaType
- FeatureFilter
- 功能
- 試試看!
在使用者的 Google 相簿相片庫中搜尋媒體項目。如果未設定篩選器,系統會傳回使用者媒體庫中的所有媒體項目。如果設定了專輯,系統會傳回指定專輯中的所有媒體項目。如果指定篩選器,系統會列出使用者媒體庫中符合篩選器的媒體項目。如果同時設定相簿和篩選器,要求會導致錯誤。
HTTP 要求
POST https://photoslibrary.googleapis.com/v1/mediaItems:search
這個網址使用 gRPC 轉碼語法。
要求主體
要求主體的資料會採用以下結構:
JSON 表示法 |
---|
{
"albumId": string,
"pageSize": integer,
"pageToken": string,
"filters": {
object ( |
欄位 | |
---|---|
albumId |
相簿的 ID。如果填入,則會列出指定相簿中的所有媒體項目。無法與任何篩選器一起設定。 |
pageSize |
要在回應中傳回的媒體項目數量上限。傳回的媒體項目數量可能少於指定數量。預設值為 25,最大值為 100。 |
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 |
如果設為 true,結果就會排除非由此應用程式建立的媒體項目。預設值為 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 到 12 之間,或 0 可以指定不含月份和日期的年份。 |
day |
當月第幾日。必須為 1 到 31,並屬於有效的年和月;如果只指定年/月,而不指定當月第幾日的話,請輸入 0。 |
DateRange
用於定義日期範圍。兩個日期的格式必須相同。詳情請參閱 Date
。
JSON 表示法 |
---|
{ "startDate": { object ( |
欄位 | |
---|---|
startDate |
開始日期 (包含在範圍內),格式請參考上述說明。 |
endDate |
結束日期 (包含在範圍中)。格式必須與開始日期相同。 |
ContentFilter
這個篩選器可讓您依據內容類型傳回媒體項目。
您可以指定要納入的類別清單,和/或要排除的類別清單。在每個清單中,類別會以 OR 結合。
內容篩選器 includedContentCategories
:[c1, c2, c3] 會取得包含 (c1 OR c2 OR c3) 的媒體項目。
內容篩選器 excludedContentCategories
:[c1, c2, c3] 不會取得包含 (c1 OR c2 OR c3) 的媒體項目。
您也可以加入某些類別,同時排除其他類別,如以下範例所示:includedContentCategories
: [c1, c2], excludedContentCategories
: [c3, c4]
上一個範例會取得包含 (c1 OR c2) AND NOT (c3 OR 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
這個篩選器會定義要傳回的媒體項目類型,例如影片或相片。僅支援一種媒體類型。
JSON 表示法 |
---|
{
"mediaTypes": [
enum ( |
欄位 | |
---|---|
mediaTypes[] |
要納入的媒體項目類型。這個欄位只能填入一種媒體類型,如果指定多種媒體類型,系統會顯示錯誤。 |
MediaType
可供搜尋的媒體類型組合。
列舉 | |
---|---|
ALL_MEDIA |
視為未套用任何篩選器。包括所有媒體類型。 |
VIDEO |
所有視為影片的媒體項目。這也包括使用者透過 Google 相簿應用程式建立的電影。 |
PHOTO |
所有視為相片的媒體項目。包括 .bmp、.gif、.ico、.jpg (和其他拼寫方式)、.tiff、.webp 和特殊相片類型,例如 iOS 原況相片、Android 動態相片、全景相片、全景相片。 |
FeatureFilter
這個篩選器會定義媒體項目應具備的功能。
JSON 表示法 |
---|
{
"includedFeatures": [
enum ( |
欄位 | |
---|---|
includedFeatures[] |
媒體項目搜尋結果中要納入的功能集。集合中的項目會經過 OR 處理,且可能會符合任何指定的地圖項目。 |
功能
可用來篩選的功能組合。
列舉 | |
---|---|
NONE |
視為未套用任何篩選器。包含所有功能。 |
FAVORITES |
使用者在 Google 相簿應用程式中將媒體項目標示為收藏項目。 |