- HTTP 请求
- 请求正文
- 响应正文
- 授权范围
- 过滤条件
- DateFilter
- Date
- 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 |
影集的标识符。如果填充该字段,则列出指定影集中的所有媒体内容。无法同时设置该字段和任意过滤器。 |
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
https://www.googleapis.com/auth/photoslibrary.readonly.originals
过滤条件
可应用于媒体内容搜索操作的过滤器。如果已指定多个过滤器选项,则这些过滤器彼此将是“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 到 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 Live Photos、Android 动态照片、全景图片、Photo Sphere 照片。 |
FeatureFilter
此过滤条件用于定义媒体内容应具备的功能。
JSON 表示法 |
---|
{
"includedFeatures": [
enum ( |
字段 | |
---|---|
includedFeatures[] |
要包含在媒体项搜索结果中的功能集。组中的内容通过 OR 进行组合,并且可匹配任何指定的功能。 |
功能
您可以过滤的一组功能。
枚举 | |
---|---|
NONE |
当作未应用任何过滤器进行处理。包含所有功能。 |
FAVORITES |
用户在 Google 相册应用中标记为“收藏”的媒体内容。 |