گسترههای مجوز لازم
photoslibrary.readonly scope allows access to all media items in the
user's library.
جستجو و اعمال فیلترها بر محتوای ایجادشده توسط برنامه به
photoslibrary.readonly.appcreateddata scope نیاز دارد. برای اطلاعات بیشتر درباره دامنهها،
دامنههای مجوز را ببینید.
فیلترهای دردسترس
میتوانید کتابخانه کاربر از فایلهای رسانهای ایجادشده توسط برنامه را برای انواع خاصی از رسانهها جستجو کنید. برای مثال، ممکن است فقط مواردی را بخواهید که مربوط به حیوانات هستند، از روز خاصی هستند، یا ممکن است بخواهید عکسهای رسیدها را مستثنی کنید. میتوانید با اعمال فیلترها بر فهرستگان آلبوم یا کتابخانه، موارد خاصی را اضافه یا حذف کنید. پنج فیلتر دردسترس براساس ویژگیهای فایل رسانهای وجود دارد:
- دستههای محتوا (
includedContentCategories،excludedContentCategories) - تاریخها و محدودههای تاریخ (
dates،ranges) - ویژگیها (
featureFilter) - انواع رسانه (
mediaTypeFilter) - وضعیت بایگانیشده (
includeArchivedMedia)
اگر albumId تنظیم شده باشد، نباید از فیلترها در درخواست mediaItems.search استفاده شود. اگر هنگام تنظیم albumId از فیلتر استفاده شود، خطای INVALID_ARGUMENT
(400) برگردانده میشود.
نتایج براساس زمان ایجاد فایل رسانهای مرتب میشوند. ترتیب مرتبسازی میتواند برای پُرسمانها بااستفاده از فیلترهای تاریخ اصلاح شود.
کمی صبر کنید تا رسانههایی که بهتازگی بارگذاری شدهاند در جستجوهایتان نشان داده شوند. رسانه بلافاصله در جستجوهای فیلترنشده نشان داده میشود.
فایلهای رسانهای که تاریخ آنها در آینده است در جستجوهای فیلترشده نشان داده نمیشوند. این عکسها در جستجوهای فیلترنشده و جستجوهای آلبوم نشان داده میشوند.
اعمال کردن فیلتر
برای اعمال فیلتر،
mediaItems.search را فراخوانی کنید و
ویژگی filter را مشخص کنید.
استراحت
در اینجا یک درخواست POST آورده شده است:
POST https://photoslibrary.googleapis.com/v1/mediaItems:search Content-type: application/json Authorization: Bearer oauth2-token { "pageSize": "100", "filters": { ... } }
درخواست POST پاسخ زیر را برمیگرداند:
{
"mediaItems": [
...
],
"nextPageToken": "token-for-pagination"
}جاوا
try { // Create a new Filter object Filters filters = Filters.newBuilder() // .setContentFilter(...) // .setDateFilter(...) // ... .build(); // Specify the Filter object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters); for (MediaItem item : response.iterateAll()) { // ... } } catch (ApiException e) { // Handle error }
PHP
try { $filtersBuilder = new FiltersBuilder(); // $filtersBuilder->addIncludedCategory(...); // $filtersBuilder->addDate(...); // ... // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] ); foreach ($response->iterateAllElements() as $element) { // ... } } catch (\Google\ApiCore\ApiException $e) { // Handle error }
برای جزئیات، به فهرست کردن محتوای کتابخانه، آلبومها، و فایلهای رسانهای مراجعه کنید.
دستههای محتوا
همه فایلهای رسانهای پردازش میشوند و برچسبهایی به آنها اختصاص داده میشود. میتوانید هرکدام از دستههای زیر را اضافه یا مستثنی کنید.
ANIMALS |
FASHION |
LANDMARKS |
RECEIPTS |
WEDDINGS |
ARTS |
FLOWERS |
LANDSCAPES |
SCREENSHOTS |
WHITEBOARDS |
BIRTHDAYS |
FOOD |
NIGHT |
SELFIES |
|
CITYSCAPES |
GARDENS |
PEOPLE |
SPORT |
|
CRAFTS |
HOLIDAYS |
PERFORMANCES |
TRAVEL |
|
DOCUMENTS |
HOUSES |
PETS |
UTILITY |
عکسهای کاربردی طیف وسیعی از رسانهها را پوشش میدهند. این دسته معمولاً شامل مواردی است که کاربر برای انجام کاری ضبط کرده است و احتمالاً پساز تکمیل آن کار دیگر به آنها نیاز ندارد. این دسته شامل اسناد، رسیدها، نماگرفتها، یادداشتهای چسبان، منوها، و دیگر موارد رسانهای مشابه است.
دقت دستهها فقط بهاندازه دقت برچسبهای معادل در Google Photos است. گاهی ممکن است موارد بهاشتباه برچسبگذاری شوند، بنابراین دقت فیلترهای دسته محتوا را تضمین نمیکنیم.
شامل دستهها
وقتی چند دسته را اضافه میکنید، فایلهای رسانهای که با هرکدام از دستهها مطابقت داشته باشند اضافه میشوند. حداکثر ۱۰ دسته میتواند در هر درخواست گنجانده شود.
این فیلتر نمونه هر موردی از LANDSCAPES یا LANDMARKS را برمیگرداند.
استراحت
{
"filters": {
"contentFilter": {
"includedContentCategories": [
"LANDSCAPES",
"LANDMARKS"
]
}
}
}جاوا
// Create a content filter that includes landmarks and landscapes ContentFilter contentFilter = ContentFilter.newBuilder() .addIncludedContentCategories(ContentCategory.LANDMARKS) .addIncludedContentCategories(ContentCategory.LANDSCAPES) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setContentFilter(contentFilter) .build(); // Specify the Filter object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a content filter that includes landmarks and landscapes $filtersBuilder = new FiltersBuilder(); $filtersBuilder->addIncludedCategory(ContentCategory::LANDMARKS); $filtersBuilder->addIncludedCategory(ContentCategory::LANDSCAPES); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
دستههای مستثنیشده
فقط فایلهای رسانهای که با هیچکدام از دستههای مستثنیشده مطابقت ندارند نشان داده میشوند. مشابه دستههای گنجاندهشده، حداکثر ۱۰ دسته را میتوان در هر درخواست مستثنی کرد.
این فیلتر هر موردی را که PEOPLE یا SELFIES نباشد برمیگرداند:
استراحت
{
"filters": {
"contentFilter": {
"excludedContentCategories": [
"PEOPLE",
"SELFIES"
]
}
}
}جاوا
// Create a content filter that excludes people and selfies ContentFilter contentFilter = ContentFilter.newBuilder() .addExcludedContentCategories(ContentCategory.PEOPLE) .addExcludedContentCategories(ContentCategory.SELFIES) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setContentFilter(contentFilter) .build(); // Specify the Filter object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a content filter that excludes people and selfies $filtersBuilder = new FiltersBuilder(); $filtersBuilder->addExcludedCategory(ContentCategory::PEOPLE); $filtersBuilder->addExcludedCategory(ContentCategory::SELFIES); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
گنجاندن و کنار گذاشتن چند دسته
میتوانید برخی دستهها را اضافه کنید و برخی دیگر را کنار بگذارید. مثال زیر
LANDSCAPES و LANDMARKS را برمیگرداند، اما هر فایل رسانهای را که حاوی
PEOPLE باشد یا SELFIES باشد حذف میکند:
استراحت
{
"filters": {
"contentFilter": {
"includedContentCategories": [
"LANDSCAPES",
"LANDMARKS"
],
"excludedContentCategories": [
"PEOPLE",
"SELFIES"
]
}
}
}جاوا
// Create a content filter that excludes people and selfies and includes landmarks and landscapes ContentFilter contentFilter = ContentFilter.newBuilder() .addIncludedContentCategories(ContentCategory.LANDSCAPES) .addIncludedContentCategories(ContentCategory.LANDMARKS) .addExcludedContentCategories(ContentCategory.PEOPLE) .addExcludedContentCategories(ContentCategory.SELFIES) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setContentFilter(contentFilter) .build(); // Specify the Filters object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a content filter that excludes people and selfies and includes landmarks and landscapes $filtersBuilder = new FiltersBuilder(); $filtersBuilder->addIncludedCategory(ContentCategory::LANDMARKS); $filtersBuilder->addIncludedCategory(ContentCategory::LANDSCAPES); $filtersBuilder->addExcludedCategory(ContentCategory::PEOPLE); $filtersBuilder->addExcludedCategory(ContentCategory::SELFIES); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
تاریخها و محدودههای تاریخ
فیلترهای تاریخ، تاریخ نتایج برگرداندهشده را به مجموعه مشخصی از روزها محدود میکند. دو روش برای تعیین فیلتر تاریخ وجود دارد: تاریخها یا محدودهها. میتوان از تاریخها و محدودهها باهم استفاده کرد. فایلهای رسانهای که با هریک از تاریخها یا محدودههای تاریخ مطابقت داشته باشند برگردانده میشوند. درصورت تمایل، ترتیب مرتبسازی نتایج قابل تغییر است.
تاریخها
تاریخ شامل سال، ماه، و روز است. قالبهای زیر قابلقبول است:
- سال
- سال، ماه
- سال، ماه، روز
- ماه، روز
- ماه
اگر بخشی از تاریخ خالی باشد یا روی صفر تنظیم شده باشد، بهعنوان نویسه عام درنظر گرفته میشود. برای مثال، اگر روز و ماه را تنظیم کنید، اما سال را تنظیم نکنید، موارد مربوط به آن روز و ماه را از هر سالی درخواست میکنید:
استراحت
{
"filters": {
"dateFilter": {
"dates": [
{
"month": 2,
"day": 15
}
]
}
}
}جاوا
// Create a new com.google.type.Date object using a builder // Note that there are different valid combinations as described above Date dayFebruary15 = Date.newBuilder() .setDay(15) .setMonth(2) .build(); // Create a new dateFilter. You can also set multiple dates here DateFilter dateFilter = DateFilter.newBuilder() .addDates(dayFebruary15) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setDateFilter(dateFilter) .build(); // Specify the Filters object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a new Google\Type\Date object with a day and a month // Note that there are different valid combinations as described above $dateFebruary15 = new Date(); $dateFebruary15->setDay(15); $dateFebruary15->setMonth(2); $filtersBuilder = new FiltersBuilder(); // Add the date to the filter. You can also set multiple dates here $filtersBuilder->addDate($dateFebruary15); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
محدوده تاریخ
محدوده تاریخ انعطافپذیری بیشتری نسبتبه تاریخ دارد. برای مثال، بهجای افزودن چند تاریخ، میتوان از محدوده تاریخ برای دیدن مجموعهای از روزها در یک ماه استفاده کرد.
محدوده تاریخ دارای startDate و endDate است که هر دو باید تنظیم شوند. هر تاریخ در محدوده دارای همان محدودیتهای قالب است که در تاریخها شرح داده شده است. تاریخها باید قالب یکسانی داشته باشند: اگر تاریخ شروع سال و ماه است، تاریخ پایان هم باید سال و ماه باشد. محدودهها بهصورت فراگیر اعمال میشوند، تاریخ شروع و پایان در فیلتر اعمالشده گنجانده میشود:
استراحت
{
"filters": {
"dateFilter": {
"ranges": [
{
"startDate": {
"year": 2014,
"month": 6,
"day": 12
},
"endDate": {
"year": 2014,
"month": 7,
"day": 13
}
}
]
}
}
}جاوا
// Create new com.google.type.Date objects for two dates Date day2014June12 = Date.newBuilder() .setDay(12) .setMonth(6) .setYear(2014) .build(); Date day2014July13 = Date.newBuilder() .setDay(13) .setMonth(7) .setYear(2014) .build(); // Create a DateRange from these two dates DateRange dateRange = DateRange.newBuilder() .setStartDate(day2014June12) .setEndDate(day2014July13) .build(); // Create a new dateFilter with the date range. You can also set multiple date ranges here DateFilter dateFilter = DateFilter.newBuilder() .addRanges(dateRange) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setDateFilter(dateFilter) .build(); // Specify the Filters object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create two new Google\Type\Date objects $date2014June12 = new Date(); $date2014June12->setDay(12); $date2014June12->setMonth(6); $date2014June12->setYear(2014); $date2014July13 = new Date(); $date2014July13->setDay(13); $date2014July13->setMonth(7); $date2014July13->setYear(2014); // Add the two dates as a date range to the filter // You can also set multiple date ranges here $filtersBuilder = new FiltersBuilder(); $filtersBuilder->addDateRange($date2014June12, $date2014July13); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
ترکیب تاریخها و محدودههای تاریخ
میتوانید از چند تاریخ و چند محدوده تاریخ بهطور همزمان استفاده کنید. مواردی که در هریک از این تاریخها قرار میگیرند در نتایج گنجانده میشوند. تاریخهای جداگانه و محدودههای تاریخ لازم نیست از قالب یکسانی پیروی کنند، اما تاریخهای شروع و پایان محدودههای جداگانه باید از قالب یکسانی پیروی کنند:
استراحت
{
"filters": {
"dateFilter": {
"dates": [
{
"year": 2013
},
{
"year": 2011,
"month": 11
}
],
"ranges": [
{
"startDate": {
"month": 1
},
"endDate": {
"month": 3
}
},
{
"startDate": {
"month": 3,
"day": 24
},
"endDate": {
"month": 5,
"day": 2
}
}
]
}
}
}جاوا
// Create a new com.google.type.Date object for the year 2013 Date day2013 = Date.newBuilder() .setYear(2013) .build(); // Create a new com.google.type.Date object for November 2011 Date day2011November = Date.newBuilder() .setMonth(11) .setYear(2011) .build(); // Create a date range for January to March DateRange dateRangeJanuaryToMarch = DateRange.newBuilder() .setStartDate(Date.newBuilder().setMonth(1).build()) .setEndDate(Date.newBuilder().setMonth(3).build()) .build(); // Create a date range for March 24 to May 2 DateRange dateRangeMarch24toMay2 = DateRange.newBuilder() .setStartDate(Date.newBuilder().setMonth(3).setDay(24).build()) .setEndDate(Date.newBuilder().setMonth(5).setDay(2).build()) .build(); // Create a new dateFilter with the dates and date ranges DateFilter dateFilter = DateFilter.newBuilder() .addDates(day2013) .addDates(day2011November) .addRanges(dateRangeJanuaryToMarch) .addRanges(dateRangeMarch24toMay2) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setDateFilter(dateFilter) .build(); // Specify the Filter object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a new Google\Type\Date object for the year 2013 $date2013 = new Date(); $date2013->setYear(2013); // Create a new Google\Type\Date object for November 2011 $dateNovember2011 = new Date(); $dateNovember2011->setMonth(11); $dateNovember2011->setYear(2011); $filtersBuilder = new FiltersBuilder(); // Create a date range for January to March $filtersBuilder->addDateRange((new Date())->setMonth(1), (new Date())->setMonth(3)); // Create a date range for March 24 to May 2 $filtersBuilder->addDateRange((new Date())->setMonth(3)->setDay(24), (new Date())->setMonth(5)->setDay(2)); $filtersBuilder->addDate($date2013); $filtersBuilder->addDate($dateNovember2011); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
ویژگیهای فایل رسانهای
فیلترهای ویژگی نتایج را به مواردی محدود میکنند که ویژگیهای خاصی دارند، برای مثال مواردی که در برنامه Google Photos بهعنوان موارد دلخواه علامتگذاری شدهاند.
موارد دلخواه
ویژگی
FAVORITES item
را در
FeatureFilter
اضافه کنید تا فقط فایلهای رسانهای که توسط کاربر بهعنوان موارد دلخواه علامتگذاری شدهاند برگردانده شوند:
استراحت
{
"filters" : {
"featureFilter": {
"includedFeatures": [
"FAVORITES"
]
}
}
}جاوا
// Create a new FeatureFilter for favorite media items FeatureFilter featureFilter = FeatureFilter.newBuilder() .addIncludedFeatures(Feature.FAVORITES) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setFeatureFilter(featureFilter) .build(); // Specify the Filters object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a new FeatureFilter for favorite media items $filtersBuilder = new FiltersBuilder(); $filtersBuilder->addIncludedFeature(Feature::FAVORITES); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
انواع رسانه
میتوانید نتایج را به نوع رسانه محدود کنید: عکس یا ویدیو.
عکس
PHOTO میتواند یکی از چندین قالب تصویر باشد:
| BMP | JPG |
| GIF | PNG |
| HEIC | TIFF |
| عرضه اولیه سکه (ICO) | WEBP |
همچنین شامل انواع خاصی از عکسها مثل عکسهای زنده iOS، عکسهای حرکتی، تمامنماها، عکسهای کروی، و عکسهای واقعیت مجازی میشود.
ویدیو
VIDEO میتواند قالبهای ویدیویی مختلفی داشته باشد:
| 3GP | MMV |
| 3G2 | بهبوددهنده |
| ASF | MOV |
| AVI | MP4 |
| DIVX | مایل در هر گالن |
| M2T | MTS |
| M2TS | TOD |
| M4V | WMV |
| MKV |
VIDEO همچنین شامل قالبهای ویدیویی خاصی مانند موارد زیر است: ویدیوهای واقعیت مجازی،
ویدیوهای حرکت آهسته، و پویانماییهای ایجادشده در برنامه
Google Photos.
مثال زیر براساس PHOTO فیلتر میکند:
استراحت
{
"filters": {
"mediaTypeFilter": {
"mediaTypes": [
"PHOTO"
]
}
}
}جاوا
// Create a new MediaTypeFilter for Photo media items MediaTypeFilter mediaType = MediaTypeFilter.newBuilder() .addMediaTypes(MediaType.PHOTO) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setMediaTypeFilter(mediaType) .build(); // Specify the Filters object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a new MediaTypeFilter for Photo media items $filtersBuilder = new FiltersBuilder(); $filtersBuilder->setMediaType(MediaType::PHOTO); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
فیلترهای چند نوع رسانه را نمیتوان ترکیب کرد.
وضعیت بایگانیشده
ممکن است کاربرانتان برخیاز عکسهایشان را بایگانی کرده باشند. بهطور پیشفرض، عکسهای بایگانیشده در جستجوها برگردانده نمیشوند. برای گنجاندن موارد بایگانیشده، میتوانید پرچمی را در فیلتر تنظیم کنید، همانطور که در مثال زیر نشان داده شده است:
استراحت
{
"filters": {
"includeArchivedMedia": true
}
}جاوا
// Create a new Filters object that includes archived media Filters filters = Filters.newBuilder() .setIncludeArchivedMedia(true) .build(); // Specify the Filters object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a new Filters object that includes archived media $filtersBuilder = new FiltersBuilder(); $filtersBuilder->setIncludeArchivedMedia(true); // Make a search call with the options set in the filters builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
درحال ترکیب فیلترها
انواع مختلف فیلترها را میتوان ترکیب کرد. فقط مواردی که با همه ویژگیهای درخواستشده مطابقت داشته باشند برگردانده میشوند.
هنگام ترکیب فیلترها، محدودیتهای قالببندی برای هر نوع فیلتر همانند زمانی است که بهصورت جداگانه استفاده میشوند. در مثال زیر، فقط عکسهایی که در دسته SPORT قرار گرفتهاند و مربوط به سال ۲۰۱۴ یا ۲۰۱۰ هستند برگردانده میشوند:
استراحت
{
"filters": {
"contentFilter": {
"includedContentCategories": [
"SPORT"
]
},
"dateFilter": {
"dates": [
{
"year": 2014
},
{
"year": 2010
}
]
},
"mediaTypeFilter": {
"mediaTypes": [
"PHOTO"
]
}
}
}جاوا
// Create a new ContentFilter that only includes SPORT items ContentFilter contentFilter = ContentFilter.newBuilder() .addIncludedContentCategories(ContentCategory.SPORT) .build(); // Create a new media type filter that only includes PHOTO media items MediaTypeFilter mediaTypeFilter = MediaTypeFilter.newBuilder() .addMediaTypes(MediaType.PHOTO) .build(); // Create a new DateFilter that only includes items from 2010 or 2014 Date year2014 = Date.newBuilder().setYear(2014).build(); Date year2010 = Date.newBuilder().setYear(2010).build(); DateFilter dateFilter = DateFilter.newBuilder() .addDates(year2010) .addDates(year2014) .build(); // Create a new Filters object combining these filters Filters filters = Filters.newBuilder() .setDateFilter(dateFilter) .setMediaTypeFilter(mediaTypeFilter) .setContentFilter(contentFilter) .build(); // Specify the Filter object in the searchMediaItems call SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters);
PHP
// Create a new ContentFilter $filtersBuilder = new FiltersBuilder(); // Only include SPORT items $filtersBuilder->addIncludedCategory(ContentCategory::SPORT); // Only include PHOTO media items $filtersBuilder->setMediaType(MediaType::PHOTO); // Only include items from 2010 or 2014 $year2014 = new Date(); $year2014->setYear(2014); $year2010 = new Date(); $year2010->setYear(2010); $filtersBuilder->addDateRange($year2010, $year2014); // Make a search call with the options set in the filters builder // Filters have been combined in the filter builder $response = $photosLibraryClient->searchMediaItems( ['filters' => $filtersBuilder->build()] );
درحال مرتبسازی نتایج
فقط پُرسمانهایی که از فیلترهای تاریخ استفاده میکنند قابل مرتبسازی هستند.
اگر گزینه مرتبسازی را مشخص نکنید، نتایج شما بهترتیب نزولی (جدیدترین در ابتدا) مرتب خواهند شد.
این جدول گزینههای پشتیبانیشده برای پارامتر orderBy را نشان میدهد:
پارامتر orderBy |
|
|---|---|
MediaMetadata.creation_time desc |
فایلهای رسانهای را بهترتیب نزولی (جدیدترین موارد در ابتدا) برمیگرداند |
MediaMetadata.creation_time |
فایلهای رسانهای را بهترتیب صعودی (قدیمیترین موارد در ابتدا) برمیگرداند |
مثال زیر همه فایلهای رسانهای سال ۲۰۱۷ را برمیگرداند و قدیمیترین را اول و جدیدترین را آخر نشان میدهد.
استراحت
{
"filters": {
"dateFilter": {
"dates": [
{
"year": 2017
}
]
}
},
"orderBy": "MediaMetadata.creation_time"
}جاوا
// Create a new dateFilter for the year 2017. DateFilter dateFilter = DateFilter.newBuilder() .addDates(Date.newBuilder().setYear(2017)) .build(); // Create a new Filters object Filters filters = Filters.newBuilder() .setDateFilter(dateFilter) .build(); // Sort results by oldest item first. final OrderBy newestFirstOrder = OrderBy.MEDIAMETADATA_CREATION_TIME; // Specify the filter and sort order in the searchMediaItems call. SearchMediaItemsPagedResponse response = photosLibraryClient.searchMediaItems(filters, newestFirstOrder);
PHP
// Create a new dateFilter for the year 2017. $filtersBuilder = new FiltersBuilder(); $filtersBuilder->addDate((new Date())->setYear(2017)); // Make a search call with the options set in the filters builder and sort // the results by oldest item first. $response = $photosLibraryClient->searchMediaItems( [ 'filters' => $filtersBuilder->build(), 'orderBy' => OrderBy::MEDIAMETADATA_CREATION_TIME ] );