Method: mediaItems.search

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

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

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

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

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

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

जेएसओएन के काेड में दिखाना
{
  "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 फ़िल्टर इस्तेमाल किए जा सकते हैं. कोई और फ़िल्टर इस्तेमाल नहीं किया जा सकता.

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

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

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

जेएसओएन के काेड में दिखाना
{
  "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 के रूप में माना जाता है.

जेएसओएन के काेड में दिखाना
{
  "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 सर्वर के अपलोड होने के समय का इस्तेमाल फ़ॉलबैक के तौर पर नहीं किया जाता.

जेएसओएन के काेड में दिखाना
{
  "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 पर सेट करना.

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

integer

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

month

integer

साल का महीना. इसे 1 से 12 के बीच होना चाहिए या बिना महीने और दिन वाले साल की जानकारी देने के लिए 0 होना चाहिए.

day

integer

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

DateRange

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

जेएसओएन के काेड में दिखाना
{
  "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 या c3) शामिल हो.

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

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

जेएसओएन के काेड में दिखाना
{
  "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

यह फ़िल्टर बताता है कि किस तरह के मीडिया आइटम को लौटाना है, जैसे कि वीडियो या फ़ोटो. सिर्फ़ एक मीडिया टाइप का इस्तेमाल किया जा सकता है.

जेएसओएन के काेड में दिखाना
{
  "mediaTypes": [
    enum (MediaType)
  ]
}
फ़ील्ड
mediaTypes[]

enum (MediaType)

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

MediaType

खोजे जा सकने वाले मीडिया टाइप का सेट.

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

FeatureFilter

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

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

enum (Feature)

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

सुविधा

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

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