ऐप्लिकेशन से बनाए गए मीडिया आइटम और एल्बम की सूची बनाना

अनुमति के ज़रूरी दायरे

ऐप्लिकेशन से बनाए गए कॉन्टेंट की लिस्टिंग के लिए, photoslibrary.readonly.appcreateddata की ज़रूरत होती है दायरा. स्कोप के बारे में ज़्यादा जानकारी के लिए, अनुमति देना दायरे.

खास जानकारी

Library API का इस्तेमाल करके, अपने ऐप्लिकेशन में मौजूद मीडिया आइटम की सूची बनाई जा सकती है और उन्हें ऐक्सेस किया जा सकता है ने बनाया है.

मीडिया आइटम की सूची बनाने की कुछ मुख्य सुविधाओं में ये शामिल हैं:

  • ऐप्लिकेशन से बनाए गए किसी एल्बम या पूरी लाइब्रेरी के मीडिया आइटम की सूची देखना
  • फ़िल्टर (तारीख, कॉन्टेंट कैटगरी, मीडिया टाइप) लागू करके, खोज के नतीजों को सीमित करना

  • mediaItem ऑब्जेक्ट वापस पाएं के साथ लिंक और मेटाडेटा शामिल हैं.

लाइब्रेरी और एल्बम के कॉन्टेंट की सूची बनाने से, मीडिया आइटम की सूची मिलती है. ऐसे प्रॉडक्ट को बेहतर बनाना जो किसी एल्बम का हिस्सा हों शामिल नहीं हैं. मीडिया आइटम से किसी फ़ोटो, वीडियो या अन्य मीडिया के बारे में जानकारी मिलती है. ऐप्लिकेशन mediaItem में आइटम का लिंक होता है, जिसमें आइटम का लिंक होता है Google Photos, और दूसरे काम का मेटाडेटा. ज़्यादा जानकारी के लिए, यह देखें मीडिया आइटम ऐक्सेस करना और mediaItems.

ऐप्लिकेशन में बनाए गए एल्बम की सूची बनाना

albums.list का इस्तेमाल करके, उन एल्बम की सूची बनाई जा सकती है जिन्हें आपके ऐप्लिकेशन ने बनाया है.

आराम

अनुरोध का सैंपल यहां दिया गया है:

GET https://photoslibrary.googleapis.com/v1/albums

अनुरोध से यह नतीजा मिलता है:

{
  "albums": [
    {
      "id": "album-id",
      "title": "album-title",
      "productUrl": "album-product-url",
      "coverPhotoBaseUrl": "album-cover-base-url_do-not-use-directly",
      "coverPhotoMediaItemId": "album-cover-media-item-id",
      "isWriteable": "whether-you-can-write-to-this-album",
      "mediaItemsCount": "number-of-media-items-in-album"
    },
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

लौटाए गए हर एल्बम में एक आईडी होता है, जिसका इस्तेमाल जैसा कि एल्बम के कॉन्टेंट की सूची बनाना में बताया गया है. यह भी में टाइटल और उसमें मौजूद मीडिया आइटम की संख्या शामिल होनी चाहिए.

productUrl Google Photos में उस एल्बम पर ले जाता है जिसे जिन्हें उपयोगकर्ता ने खोला है.

coverPhotoMediaItemId में मीडिया आइटम का आईडी होता है, जो इस एल्बम की कवर फ़ोटो दिखाता है. इस कवर इमेज को ऐक्सेस करने के लिए, coverPhotoBaseUrl का इस्तेमाल करें. आपको बिना बताए coverPhotoBaseUrl का इस्तेमाल सीधे तौर पर नहीं करना चाहिए अतिरिक्त पैरामीटर.

रिस्पॉन्स में nextPageToken भी शामिल होता है. ज़्यादा जानकारी के लिए, पेजेशन देखें.

खाली एल्बम के लिए प्रतिक्रिया उसमें, mediaItemsCount और coverPhotoMediaItemId को डिफ़ॉल्ट रूप से 0 पर सेट किया जाता है और उन्हें REST में शामिल नहीं किया जाता है जवाब. यह भी ध्यान दें कि coverPhotoBaseUrl, डिफ़ॉल्ट प्लेसहोल्डर इमेज पर ले जाता है.

ऐप्लिकेशन की बनाई गई लाइब्रेरी के कॉन्टेंट की सूची बनाना

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

मीडिया आइटम की सूची देखने के लिए, mediaItems.list को कॉल करें.

REST

अनुरोध का सैंपल यहां दिया गया है:

GET https://photoslibrary.googleapis.com/v1/mediaItems
Content-type: application/json
Authorization: Bearer oauth2-token
{
  "pageSize": "100",
}

जीईटी अनुरोध से यह रिस्पॉन्स मिलता है:

{
  "mediaItems": [
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

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

एल्बम के कॉन्टेंट की सूची बनाएं

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

आराम

अनुरोध का एक सैंपल यहां दिया गया है:

POST https://photoslibrary.googleapis.com/v1/mediaItems:search
Content-type: application/json
Authorization: Bearer oauth2-token
{
  "pageSize": "100",
  "albumId": "album-id"
}

पीओएसटी अनुरोध से यह रिस्पॉन्स मिलता है:

{
  "mediaItems": [
    ...
  ],
  "nextPageToken": "token-for-pagination"
}

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

अगर albumId सेट है, तो एल्बम के कॉन्टेंट की लिस्टिंग करते समय कोई फ़िल्टर लागू नहीं किया जा सकता. ऐसा करने पर Bad Request गड़बड़ी दिखेगी.

REST के लिए पेज नंबर

परफ़ॉर्मेंस को बेहतर बनाने के लिए, बहुत सारे नतीजे देने वाले तरीके (जैसे कि लिस्ट मेथड) रिस्पॉन्स को पेज पर नंबर कर सकता है. हर पेज पर नतीजों की ज़्यादा से ज़्यादा संख्या, pageSize पैरामीटर से तय होती है.

mediaItems.search और mediaItems.list पर किए जाने वाले कॉल के लिए, डिफ़ॉल्ट पेज साइज़ यह है 25 आइटम. हम इस पेज आकार का सुझाव देते हैं, क्योंकि यह रिस्पॉन्स का साइज़ और फ़िल रेट. मीडिया आइटम खोजने और सूची के अनुरोधों के लिए, पेज का ज़्यादा से ज़्यादा साइज़ 100 आइटम हो सकता है.

एल्बम की सूची बनाते समय डिफ़ॉल्ट और सुझाया गया पेज साइज़ 20 एल्बम होता है. इसमें ज़्यादा से ज़्यादा 50 एल्बम.

जब उपलब्ध नतीजों की संख्या, पेज के साइज़ से ज़्यादा होती है, तो रिस्पॉन्स में nextPageToken शामिल होता है. इससे आपके ऐप्लिकेशन को पता चलता है कि सर्वर से ज़्यादा नतीजे फ़ेच किए जाने हैं.

उदाहरण

आपको पैरामीटर के अगले अनुरोधों में nextPageToken को जोड़ना होगा pageToken, जैसा कि इस उदाहरण में दिखाया गया है. pageToken के साथ-साथ, ऑपरेशन के लिए ज़रूरी अन्य पैरामीटर भी बताएं. इन्हें अनुरोध के मुख्य हिस्से में या क्वेरी पैरामीटर के तौर पर बताएं.

अनुरोध #1

{
  "pageSize": "5",
  "filters": { … }
}

जवाब #1

{
  "mediaItem": [ … ],
  "nextPageToken": "next-page-token"
}

अनुरोध #2

{
  "pageSize": "5",
  "filters": { … },
  "pageToken": "page-token"
}

जवाब #2

{
  "mediaItem": [ … ],
  "nextPageToken": "next-page-token"
}

इस पैटर्न को तब तक जारी रखें, जब तक nextPageToken ऑब्जेक्ट हट न जाएं.

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