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 ऐप्लिकेशन में पसंदीदा के तौर पर मार्क किया है.