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

फ़िल्टर

मीडिया आइटम की खोज पर लागू किए जा सकने वाले फ़िल्टर. अगर फ़िल्टर के लिए एक से ज़्यादा विकल्प दिए गए हैं, तो उन्हें एक-दूसरे के साथ 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 OR c2 OR 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 ऐप्लिकेशन में पसंदीदा के तौर पर मार्क किया है.