Method: mediaItems.search

उपयोगकर्ता की Google Photos लाइब्रेरी में मीडिया आइटम खोजता है. अगर कोई फ़िल्टर सेट नहीं किया गया है, तो उपयोगकर्ता की लाइब्रेरी में मौजूद सभी मीडिया आइटम दिखाए जाते हैं. अगर कोई एल्बम सेट किया गया है, तो उस एल्बम में मौजूद सभी मीडिया आइटम दिखाए जाते हैं. अगर फ़िल्टर लगाए गए हैं, तो उपयोगकर्ता की लाइब्रेरी में मौजूद फ़िल्टर से मेल खाने वाले मीडिया आइटम की सूची बनाई जाएगी. अगर एल्बम और फ़िल्टर, दोनों को सेट किया जाता है, तो अनुरोध के नतीजे में गड़बड़ी होती है.

एचटीटीपी अनुरोध

POST https://photoslibrary.googleapis.com/v1/mediaItems:search

यह यूआरएल gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल करता है.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:

JSON के काेड में दिखाना
{
  "albumId": string,
  "pageSize": integer,
  "pageToken": string,
  "filters": {
    object (Filters)
  },
  "orderBy": string
}
फ़ील्ड
albumId

string

एल्बम का आइडेंटिफ़ायर. अगर जानकारी अपने-आप भर जाती है, तो चुने गए एल्बम में सभी मीडिया आइटम की सूची होती है. किसी भी फ़िल्टर के साथ सेट नहीं किया जा सकता.

pageSize

integer

जवाब में दिए जाने वाले मीडिया आइटम की ज़्यादा से ज़्यादा संख्या. हो सकता है कि तय संख्या से कम मीडिया आइटम लौटाए जाएं. डिफ़ॉल्ट pageSize 25 है और ज़्यादा से ज़्यादा 100 है.

pageToken

string

नतीजों का अगला पेज दिखाने के लिए कंटिन्यूशन टोकन. इसे अनुरोध में जोड़ने पर, pageToken के बाद की पंक्तियां दिखती हैं. pageToken की वैल्यू, searchMediaItems अनुरोध के रिस्पॉन्स में nextPageToken पैरामीटर में दिखाई गई वैल्यू होनी चाहिए.

filters

object (Filters)

अनुरोध पर लागू करने के लिए फ़िल्टर. इसे albumId के साथ सेट नहीं किया जा सकता.

orderBy

string

खोज के नतीजों को क्रम से लगाने का तरीका बताने वाला फ़ील्ड. हालांकि, यह फ़ील्ड ज़रूरी नहीं है. orderBy फ़ील्ड सिर्फ़ तब काम करता है, जब dateFilter का इस्तेमाल किया जाता है. जब इस फ़ील्ड की वैल्यू नहीं दी जाती, तब नतीजे creationTime के हिसाब से सबसे नए और सबसे पुराने के बाद दिखते हैं. MediaMetadata.creation_time देने पर, खोज के नतीजे उलटे क्रम में दिखते हैं. इनमें, सबसे पुराने के बाद सबसे नए के क्रम में नतीजे दिखते हैं. सबसे नए और सबसे पुराने नतीजों को दिखाने के लिए, desc आर्ग्युमेंट को इस तरह शामिल करें: MediaMetadata.creation_time desc.

इस पैरामीटर के साथ, सिर्फ़ includeArchivedMedia और excludeNonAppCreatedData फ़िल्टर इस्तेमाल किए जा सकते हैं. कोई और फ़िल्टर इस्तेमाल नहीं किया जा सकता.

जवाब का मुख्य भाग

खोज पैरामीटर से मेल खाने वाले मीडिया आइटम की सूची.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

JSON के काेड में दिखाना
{
  "mediaItems": [
    {
      object (MediaItem)
    }
  ],
  "nextPageToken": string
}
फ़ील्ड
mediaItems[]

object (MediaItem)

सिर्फ़ आउटपुट के लिए. खोज पैरामीटर से मैच करने वाले मीडिया आइटम की सूची.

nextPageToken

string

सिर्फ़ आउटपुट के लिए. मीडिया आइटम का अगला सेट पाने के लिए, इस टोकन का इस्तेमाल करें. इसकी मौजूदगी से पता चलता है कि अगले अनुरोध में ज़्यादा मीडिया आइटम उपलब्ध हैं.

अनुमति के दायरे

इनमें से किसी एक 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": {
    object (ContentFilter)
  },
  "mediaTypeFilter": {
    object (MediaTypeFilter)
  },
  "featureFilter": {
    object (FeatureFilter)
  },
  "includeArchivedMedia": boolean,
  "excludeNonAppCreatedData": boolean
}
फ़ील्ड
dateFilter

object (DateFilter)

मीडिया आइटम को बनाने की तारीख के आधार पर उन्हें फ़िल्टर करता है.

contentFilter

object (ContentFilter)

मीडिया आइटम को उनके कॉन्टेंट के हिसाब से फ़िल्टर करता है.

mediaTypeFilter

object (MediaTypeFilter)

मीडिया के टाइप के आधार पर मीडिया आइटम फ़िल्टर करता है.

featureFilter

object (FeatureFilter)

मीडिया आइटम को उनकी सुविधाओं के हिसाब से फ़िल्टर करता है.

includeArchivedMedia

boolean

अगर यह नीति सेट की जाती है, तो नतीजों में वे मीडिया आइटम शामिल होते हैं जिन्हें उपयोगकर्ता ने संग्रहित किया है. डिफ़ॉल्ट रूप से 'गलत' पर सेट होता है. इसका मतलब है कि संग्रहित किए गए मीडिया आइटम शामिल नहीं किए जाते.

excludeNonAppCreatedData

boolean

अगर यह नीति सेट की जाती है, तो नतीजों में वे मीडिया आइटम शामिल नहीं होंगे जिन्हें इस ऐप्लिकेशन से नहीं बनाया गया है. डिफ़ॉल्ट तौर पर 'गलत' पर सेट होता है (सभी मीडिया आइटम दिखाए जाते हैं). अगर photoslibrary.readonly.appcreateddata स्कोप का इस्तेमाल किया जाता है, तो इस फ़ील्ड को अनदेखा कर दिया जाता है.

DateFilter

यह फ़िल्टर मीडिया के लिए मंज़ूर की गई तारीखों या तारीख की सीमाओं को तय करता है. खास तारीखों के सेट और तारीख की सीमाओं के सेट को चुना जा सकता है. बिना मेटाडेटा के अपलोड किए गए मीडिया आइटम, जिसमें मीडिया आइटम को कैप्चर करने की तारीख बताया गया है, तारीख के फ़िल्टर इस्तेमाल करने वाली क्वेरी में उन्हें नहीं दिखाया जाएगा. इस मामले में, Google Photos सर्वर पर फ़ाइल अपलोड करने के समय का इस्तेमाल फ़ॉलबैक के तौर पर नहीं किया जाता.

JSON के काेड में दिखाना
{
  "dates": [
    {
      object (Date)
    }
  ],
  "ranges": [
    {
      object (DateRange)
    }
  ]
}
फ़ील्ड
dates[]

object (Date)

मीडिया आइटम बनाने की तारीख से मेल खाने वाली तारीखों की सूची. हर अनुरोध में ज़्यादा से ज़्यादा पांच तारीखें शामिल की जा सकती हैं.

ranges[]

object (DateRange)

मीडिया आइटम' से मेल खाने वाली तारीख की सीमाओं की सूची बनाए जाने की तारीख. हर अनुरोध में, तारीख की ज़्यादा से ज़्यादा पांच सीमाएं शामिल की जा सकती हैं.

तारीख

कैलेंडर की पूरी तारीख दिखाता है. जब सिर्फ़ महीना और साल अहम हों, तो day को 0 पर सेट करें. उदाहरण के लिए, पूरे दिसंबर 2018. अगर सिर्फ़ साल अहम हो, तो day और month को 0 पर सेट करें, जैसे कि 2018 का पूरा साल. सिर्फ़ दिन और महीना अहम होने पर, year को 0 पर सेट करें. जैसे, सालगिरह या जन्मदिन.

इस्तेमाल नहीं किया जा सकता: सभी वैल्यू को 0 पर सेट करना, सिर्फ़ month को 0 पर सेट करना या एक ही समय पर day और year, दोनों को 0 पर सेट करना.

JSON के काेड में दिखाना
{
  "year": integer,
  "month": integer,
  "day": integer
}
फ़ील्ड
year

integer

तारीख का साल. 1 से 9999 के बीच की संख्या होनी चाहिए, या बिना साल वाली तारीख को बताने के लिए 0 होना चाहिए.

month

integer

साल का महीना. यह वैल्यू 1 से 12 के बीच होनी चाहिए. अगर किसी साल में महीना और दिन नहीं है, तो उस साल की जानकारी देने के लिए यह संख्या 0 होनी चाहिए.

day

integer

महीने का दिन. यह वैल्यू 1 से 31 के बीच होनी चाहिए. साथ ही, यह साल और महीने के लिए मान्य होनी चाहिए. अगर कोई साल/महीना नहीं बताया गया है, तो यह वैल्यू 0 होनी चाहिए.

DateRange

तारीख की सीमा तय करता है. दोनों तारीखें एक ही फ़ॉर्मैट में होनी चाहिए. ज़्यादा जानकारी के लिए, Date देखें.

JSON के काेड में दिखाना
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
फ़ील्ड
startDate

object (Date)

बताए गए किसी एक फ़ॉर्मैट में शुरू होने की तारीख (सीमा के हिस्से के तौर पर शामिल).

endDate

object (Date)

खत्म होने की तारीख (सीमा के हिस्से के रूप में शामिल). यह शुरू होने की तारीख के फ़ॉर्मैट में ही होना चाहिए.

ContentFilter

इस फ़िल्टर की मदद से, कॉन्टेंट के टाइप के हिसाब से मीडिया आइटम देखे जा सकते हैं.

शामिल की जाने वाली कैटगरी की सूची और/या बाहर रखी जाने वाली कैटगरी की सूची तय की जा सकती है. हर सूची में, कैटगरी को OR के साथ जोड़ा जाता है.

कॉन्टेंट फ़िल्टर includedContentCategories: [c1, c2, c3] में ऐसे मीडिया आइटम मिलेंगे जिनमें (c1 OR c2 OR c3) शामिल है.

कॉन्टेंट फ़िल्टर excludedContentCategories: [c1, c2, c3] को ऐसे मीडिया आइटम नहीं मिलेंगे जिनमें (c1 या c2 या c3) शामिल हो.

अन्य कैटगरी को हटाकर, कुछ कैटगरी को भी शामिल किया जा सकता है, जैसा कि इस उदाहरण में है: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4]

पिछले उदाहरण में, ऐसे मीडिया आइटम मिलेंगे जिनमें (c1 OR c2) शामिल है और (c3 OR c4) शामिल नहीं है. includedContentategories में दिखने वाली कैटगरी, excludedContentCategories में नहीं होनी चाहिए.

JSON के काेड में दिखाना
{
  "includedContentCategories": [
    enum (ContentCategory)
  ],
  "excludedContentCategories": [
    enum (ContentCategory)
  ]
}
फ़ील्ड
includedContentCategories[]

enum (ContentCategory)

मीडिया आइटम के खोज नतीजों में शामिल की जाने वाली कैटगरी का सेट. सेट में मौजूद आइटम को OR के तौर पर जोड़ा जाता है. हर अनुरोध के लिए, ज़्यादा से ज़्यादा 10 includedContentCategories इस्तेमाल किए जा सकते हैं.

excludedContentCategories[]

enum (ContentCategory)

कैटगरी का वह सेट जिसे मीडिया आइटम के खोज नतीजों में शामिल नहीं किया जाना चाहिए. सेट में मौजूद आइटम पर OR का इस्तेमाल किया गया है. हर अनुरोध के लिए, ज़्यादा से ज़्यादा 10 excludedContentCategories इस्तेमाल किए जा सकते हैं.

ContentCategory

यह पहले से तय की गई कॉन्टेंट कैटगरी का एक सेट है, जिसे फ़िल्टर किया जा सकता है.

Enums
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 (MediaType)
  ]
}
फ़ील्ड
mediaTypes[]

enum (MediaType)

शामिल किए जाने वाले मीडिया आइटम के टाइप. इस फ़ील्ड में सिर्फ़ एक मीडिया टाइप का इस्तेमाल किया जाना चाहिए. अगर एक से ज़्यादा तरह के मीडिया चुने जाते हैं, तो इससे गड़बड़ी होती है.

MediaType

मीडिया टाइप का सेट, जिसे खोजा जा सकता है.

Enums
ALL_MEDIA इसे ऐसे माना जाता है जैसे कोई फ़िल्टर लागू न हो. इसमें सभी तरह के मीडिया शामिल हैं.
VIDEO वे सभी मीडिया आइटम जिन्हें वीडियो माना जाता है. इसमें वे फ़िल्में भी शामिल हैं जो उपयोगकर्ता ने Google Photos ऐप्लिकेशन का इस्तेमाल करके बनाई हैं.
PHOTO वे सभी मीडिया आइटम जिन्हें फ़ोटो माना जाता है. इसमें .bmp, .gif, .ico, .jpg (और अन्य स्पेलिंग), .tiff, .webp और खास तरह की फ़ोटो, जैसे कि iOS लाइव फ़ोटो, Android मोशन फ़ोटो, पैनोरामा, फ़ोटोस्फ़ीयर शामिल हैं.

FeatureFilter

यह फ़िल्टर उन सुविधाओं के बारे में बताता है जो मीडिया आइटम में होने चाहिए.

JSON के काेड में दिखाना
{
  "includedFeatures": [
    enum (Feature)
  ]
}
फ़ील्ड
includedFeatures[]

enum (Feature)

मीडिया आइटम के खोज नतीजों में शामिल की जाने वाली सुविधाओं का सेट. सेट में मौजूद आइटम OR पैरामीटर का इस्तेमाल करते हैं और वे बताई गई किसी भी सुविधा से मेल खा सकते हैं.

सुविधा

सुविधाओं का वह सेट जिसे फ़िल्टर किया जा सकता है.

Enums
NONE इसे ऐसे माना जाता है जैसे कोई फ़िल्टर लागू न हो. सभी सुविधाएं शामिल हैं.
FAVORITES मीडिया आइटम, जिन्हें उपयोगकर्ता ने Google Photos ऐप्लिकेशन में पसंदीदा के तौर पर मार्क किया है.