एपीआई का इस्तेमाल करना

सामग्री

  1. बुनियादी जानकारी
    1. पुष्टि करना और अनुमति देना
    2. Google Books आईडी
    3. उपयोगकर्ता की जगह की जानकारी सेट करना
  2. वॉल्यूम के साथ काम करना
    1. खोज करना
    2. किसी खास वॉल्यूम को वापस लाना
  3. किताबों की अलमारियों के साथ काम करना
    1. किसी उपयोगकर्ता की सार्वजनिक बुकशेल्फ़ की सूची हासिल करना
    2. किसी खास सार्वजनिक किताबों की अलमारी को वापस लाना
    3. सार्वजनिक बुकशेल्फ़ पर मौजूद वॉल्यूम की सूची हासिल करना
  4. "मेरी लाइब्रेरी" में बुकशेल्फ़ इस्तेमाल करना
    1. मेरी किताबों की अलमारियों की सूची पाना
    2. मेरी किताबों की अलमारी में मौजूद वॉल्यूम की सूची पाना
    3. किताबों की अलमारी में कोई वॉल्यूम जोड़ना
    4. किताबों की अलमारी से कोई वॉल्यूम हटाना
    5. मेरी किताबों की अलमारी से सभी वॉल्यूम हटाना
  5. क्वेरी पैरामीटर का रेफ़रंस
    1. स्टैंडर्ड क्वेरी पैरामीटर
    2. एपीआई के हिसाब से क्वेरी पैरामीटर

परिचय

यह दस्तावेज़ उन डेवलपर के लिए है जो ऐसे ऐप्लिकेशन बनाना चाहते हैं जो Books API के साथ इंटरैक्ट कर सकें. Google Books का मकसद, दुनिया भर की किताबों के कॉन्टेंट को डिजिटल बनाना और उसे वेब पर ज़्यादा से ज़्यादा लोगों तक पहुंचाना है. Books API की मदद से, उस कॉन्टेंट को खोजा और ऐक्सेस किया जा सकता है. साथ ही, उस कॉन्टेंट के हिसाब से उपयोगकर्ताओं के अनुभव को बेहतर बनाया जा सकता है.

अगर आपको Google Books के कॉन्सेप्ट के बारे में जानकारी नहीं है, तो कोड लिखने से पहले, शुरू करना लेख पढ़ें.

अनुरोधों को अनुमति देना और अपने ऐप्लिकेशन की पहचान करना

आपका ऐप्लिकेशन, Books API को जो भी अनुरोध भेजता है उसमें Google को आपके ऐप्लिकेशन की पहचान करनी होगी. अपने ऐप्लिकेशन की पहचान करने के दो तरीके हैं: OAuth 2.0 टोकन का इस्तेमाल करना (जो अनुरोध को भी अनुमति देता है) और/या ऐप्लिकेशन की एपीआई कुंजी का इस्तेमाल करना. इनमें से किसी विकल्प को चुनने का तरीका यहां बताया गया है:

  • अगर अनुरोध को अनुमति की ज़रूरत है, तो ऐप्लिकेशन को अनुरोध के साथ OAuth 2.0 टोकन देना होगा. जैसे, किसी व्यक्ति के निजी डेटा का अनुरोध. ऐप्लिकेशन में एपीआई पासकोड भी दिया जा सकता है, लेकिन ऐसा करना ज़रूरी नहीं है.
  • अगर अनुरोध के लिए अनुमति की ज़रूरत नहीं है, तो ऐप्लिकेशन को एपीआई पासकोड या OAuth 2.0 टोकन या दोनों में से कोई एक देना होगा. हालांकि, आपके लिए जो विकल्प सबसे सही हो उसे ही दें. जैसे, सार्वजनिक डेटा का अनुरोध.

अनुमति देने के प्रोटोकॉल के बारे में जानकारी

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

OAuth 2.0 से अनुरोधों को अनुमति देना

Books API को उपयोगकर्ता के निजी डेटा के लिए किए गए अनुरोधों के लिए, पुष्टि किए गए उपयोगकर्ता की अनुमति लेना ज़रूरी है.

OAuth 2.0 के लिए अनुमति देने की प्रक्रिया या "तरीका" अलग-अलग हो सकता है. यह इस बात पर निर्भर करता है कि ऐप्लिकेशन किस तरह का है. सभी तरह के ऐप्लिकेशन के लिए नीचे दी गई सामान्य प्रक्रिया लागू होती है:

  1. ऐप्लिकेशन बनाने के बाद, उसे Google API (एपीआई) कंसोल का इस्तेमाल करके, रजिस्टर किया जाता है. इसके बाद, Google आपको क्लाइंट आईडी और क्लाइंट सीक्रेट जैसी जानकारी देगा.
  2. Google API कंसोल में Books API को चालू करें. (अगर एपीआई को 'API कंसोल' की सूची में नहीं जोड़ा गया है, तो यह चरण छोड़ दें.)
  3. जब आपके ऐप्लिकेशन को उपयोगकर्ता के डेटा को ऐक्सेस करने की ज़रूरत होती है, तब वह Google से, डेटा के खास लिंक का अनुरोध करता है.
  4. Google, उपयोगकर्ता को सहमति वाली स्क्रीन दिखाता है, जिसमें उनसे आपके ऐप्लिकेशन को उनके कुछ डेटा को ऐक्सेस करने की अनुमति मांगी जाती है.
  5. अगर उपयोगकर्ता इसकी अनुमति दे देता है, तो Google आपके ऐप्लिकेशन को कुछ समय के लिए इस्तेमाल किए जा सकने वाला ऐक्सेस टोकन देता है.
  6. आपका ऐप्लिकेशन, ऐक्सेस टोकन से उपयोगकर्ता के डेटा को ऐक्सेस करने का अनुरोध करता है.
  7. अगर Google को पता चलता है कि आपका अनुरोध और टोकन मान्य है, तो वह आपके ऐप्लिकेशन को अनुरोध किए गए डेटा का ऐक्सेस दे देता है.

कुछ तरीकों में दूसरे चरण भी शामिल हो सकते हैं, जैसे कि रिफ़्रेश टोकन इस्तेमाल करके, नया ऐक्सेस टोकन पाना. अलग-अलग तरह के ऐप्लिकेशन के लिए डेटा ऐक्सेस करने के तरीकों के बारे में ज़्यादा जानकारी पाने के लिए, Google का OAuth 2.0 दस्तावेज़ पढ़ें.

यहां Books API के लिए, OAuth 2.0 का इस्तेमाल करके अनुमति के लिए अनुरोध करने के बारे में जानकारी दी गई है:

https://www.googleapis.com/auth/books

OAuth 2.0 का इस्तेमाल करके, डेटा ऐक्सेस करने का अनुरोध करने के लिए, आपके ऐप्लिकेशन को अनुरोध के तरीके की जानकारी देनी होगी. साथ ही, वह जानकारी भी देनी होगी जो आपको ऐप्लिकेशन रजिस्टर करते समय, Google से मिली थी, जैसे कि क्लाइंट आईडी और क्लाइंट सीक्रेट.

सलाह: Google API की क्लाइंट लाइब्रेरी आपके लिए अनुमति देने की कुछ प्रक्रियाएं खुद कर सकती है. ये लाइब्रेरी कई प्रोग्रामिंग भाषाओं के लिए उपलब्ध होती हैं. ज़्यादा जानकारी के लिए लाइब्रेरी और नमूनों वाला पेज देखें.

एपीआई पासकोड हासिल करना और उसका इस्तेमाल करना

सार्वजनिक डेटा के लिए Books API के अनुरोधों के साथ एक आइडेंटिफ़ायर होना चाहिए. यह एपीआई पासकोड या ऐक्सेस टोकन हो सकता है.

एपीआई पासकोड पाने के लिए:

  1. API Console में क्रेडेंशियल पेज खोलें.
  2. यह एपीआई, दो तरह के क्रेडेंशियल के साथ काम करता है. अपने प्रोजेक्ट के लिए सही क्रेडेंशियल बनाएं:
    • OAuth 2.0: जब भी आपका ऐप्लिकेशन उपयोगकर्ता के निजी डेटा का अनुरोध करता है, तो उसे अनुरोध के साथ OAuth 2.0 टोकन भेजना होगा. आपका ऐप्लिकेशन, टोकन पाने के लिए सबसे पहले क्लाइंट आईडी और शायद क्लाइंट सीक्रेट भेजता है. आपके पास वेब ऐप्लिकेशन, सेवा खातों या इंस्टॉल किए गए ऐप्लिकेशन के लिए, OAuth 2.0 क्रेडेंशियल जनरेट करने का विकल्प है.

      ज़्यादा जानकारी के लिए, OAuth 2.0 दस्तावेज़ देखें.

    • एपीआई पासकोड: OAuth 2.0 टोकन न देने वाले अनुरोध में, एपीआई पासकोड भेजना ज़रूरी है. पासकोड से आपके प्रोजेक्ट की पहचान की जाती है. साथ ही, इससे एपीआई का ऐक्सेस, कोटा, और रिपोर्ट मिलती हैं.

      एपीआई, एपीआई कुंजियों पर कई तरह की पाबंदियां लगाने की सुविधा देता है. अगर आपको जो एपीआई पासकोड चाहिए वह पहले से मौजूद नहीं है, तो कंसोल में एपीआई पासकोड बनाएं. इसके लिए, क्रेडेंशियल बनाएं  > एपीआई पासकोड पर क्लिक करें. प्रोडक्शन में इस्तेमाल करने से पहले, कुंजी पर पाबंदी लगाई जा सकती है. इसके लिए, कुंजी पर पाबंदी लगाएं पर क्लिक करें और पाबंदियों में से कोई एक चुनें.

अपनी एपीआई पासकोड को सुरक्षित रखने के लिए, एपीआई पासकोड का सुरक्षित तरीके से इस्तेमाल करने के सबसे सही तरीकों का पालन करें.

एपीआई पासकोड मिलने के बाद, आपका ऐप्लिकेशन सभी अनुरोध यूआरएल में क्वेरी पैरामीटर key=yourAPIKey जोड़ सकता है.

एपीआई पासकोड को यूआरएल में जोड़ना सुरक्षित है. इसे कोड में बदलने की ज़रूरत नहीं है.

Google Books आईडी

आपको कुछ एपीआई मेथड कॉल के साथ आईडी फ़ील्ड की जानकारी देनी होगी. Google Books में तीन तरह के आईडी इस्तेमाल किए जाते हैं:

  • वॉल्यूम आईडी - Google Books के पास मौजूद हर वॉल्यूम को दी गई यूनीक स्ट्रिंग. वॉल्यूम आईडी का उदाहरण _LettPDhwR0C है. वॉल्यूम आईडी पाने के लिए, एपीआई का इस्तेमाल किया जा सकता है. इसके लिए, ऐसा अनुरोध करें जिससे वॉल्यूम रिसॉर्स मिल सके. वॉल्यूम आईडी, उसके id फ़ील्ड में मिलता है.
  • किताबों की अलमारी के आईडी - उपयोगकर्ता की लाइब्रेरी में, किताबों की अलमारी को दी गई संख्या वाली वैल्यू. Google, हर उपयोगकर्ता के लिए पहले से तय कुछ शेल्फ़ उपलब्ध कराता है. इन शेल्फ़ के आईडी ये हैं:
    • पसंदीदा: 0
    • खरीदे गए: 1
    • पढ़ने के लिए: 2
    • अभी पढ़ा जा रहा है: 3
    • पढ़ चुके हैं: 4
    • समीक्षा की गई: 5
    • हाल ही में देखे गए: 6
    • मेरी ई-बुक: 7
    • आपके लिए किताबें: 8 अगर हमारे पास उपयोगकर्ता के लिए कोई सुझाव नहीं है, तो यह शेल्फ़ मौजूद नहीं है.
    कस्टम शेल्फ़ के आईडी 1,000 से ज़्यादा हैं. किसी उपयोगकर्ता के लिए, किताबों की शेल्फ़ का आईडी यूनीक होता है. इसका मतलब है कि दो उपयोगकर्ताओं के पास एक ही आईडी वाली किताबों की शेल्फ़ हो सकती है, जो अलग-अलग किताबों की शेल्फ़ से जुड़ी हो. किताबों की अलमारी का आईडी पाने के लिए, एपीआई का इस्तेमाल किया जा सकता है. इसके लिए, ऐसा अनुरोध करें जिससे Bookshelf का संसाधन मिल सके. इसके id फ़ील्ड में, किताबों की अलमारी का आईडी देखा जा सकता है.
  • यूज़र आईडी - हर उपयोगकर्ता को असाइन की गई यूनीक संख्या वाली वैल्यू. ज़रूरी नहीं है कि ये वैल्यू, Google की अन्य सेवाओं में इस्तेमाल की जाने वाली आईडी वैल्यू ही हों. फ़िलहाल, उपयोगकर्ता आईडी को वापस पाने का सिर्फ़ एक ही तरीका है. इसके लिए, पुष्टि किए गए अनुरोध से वापस पाए गए Bookshelf संसाधन के selfLink से, उपयोगकर्ता आईडी निकाला जाता है. उपयोगकर्ता, Books की साइट से भी अपना यूज़र आईडी पा सकते हैं. कोई उपयोगकर्ता, एपीआई या Books की साइट के ज़रिए, किसी दूसरे उपयोगकर्ता का उपयोगकर्ता आईडी हासिल नहीं कर सकता. इसके लिए, दूसरे उपयोगकर्ता को साफ़ तौर पर यह जानकारी शेयर करनी होगी. उदाहरण के लिए, ईमेल से.

Google Books की साइट पर मौजूद आईडी

Books API के साथ इस्तेमाल किए जाने वाले आईडी, Google Books साइट पर इस्तेमाल किए जाने वाले आईडी से मेल खाते हैं.

  • वॉल्यूम आईडी

    साइट पर किसी खास वॉल्यूम को देखते समय, आपको id यूआरएल पैरामीटर में वॉल्यूम आईडी दिख सकता है. उदाहरण के लिए:

    https://books.google.com/ebooks?id=buc0AAAAMAAJ&dq=holmes&as_brr=4&source=webstore_bookcard

  • किताबों की अलमारी का आईडी

    साइट पर किसी खास किताब की शेल्फ़ को देखते समय, आपको as_coll यूआरएल पैरामीटर में किताब की शेल्फ़ का आईडी दिखेगा. उदाहरण के लिए:

    https://books.google.com/books?hl=en&as_coll=0&num=10&uid=11122233344455566778&source=gbs_slider_cls_metadata_0_mylibrary

  • यूज़र आईडी

    साइट पर अपनी लाइब्रेरी देखते समय, आपको उपयोगकर्ता आईडी uid यूआरएल पैरामीटर में दिख सकता है. उदाहरण के लिए:

    https://books.google.com/books?uid=11122233344455566778&source=gbs_lp_bookshelf_list

उपयोगकर्ता की जगह की जानकारी सेट करना

Google Books, असली उपयोगकर्ता की जगह के हिसाब से कॉपीराइट, अनुबंध, और अन्य कानूनी पाबंदियों का पालन करता है. इस वजह से, हो सकता है कि कुछ उपयोगकर्ता कुछ देशों में किताब का कॉन्टेंट ऐक्सेस न कर पाएं. उदाहरण के लिए, कुछ किताबों की "झलक" सिर्फ़ अमेरिका में देखी जा सकती है. हम दूसरे देशों के उपयोगकर्ताओं के लिए, झलक वाले ऐसे लिंक नहीं दिखाते. इसलिए, एपीआई के नतीजों पर पाबंदी लगाई जाती है. यह पाबंदी, आपके सर्वर या क्लाइंट ऐप्लिकेशन के आईपी पते के आधार पर लगाई जाती है.

वॉल्यूम के साथ काम करना

खोज करना

यहां दिए गए यूआरआई पर एचटीटीपी GET का इस्तेमाल करके अनुरोध भेजकर, वॉल्यूम खोजे जा सकते हैं:

https://www.googleapis.com/books/v1/volumes?q=search+terms

इस अनुरोध में एक ज़रूरी पैरामीटर है:

  • q - उन वॉल्यूम को खोजें जिनमें यह टेक्स्ट स्ट्रिंग शामिल है. कुछ खास कीवर्ड हैं जिन्हें खोज के लिए इस्तेमाल किए गए शब्दों में शामिल करके, किसी खास फ़ील्ड में खोजा जा सकता है. जैसे:
    • intitle: ऐसे नतीजे दिखाता है जिनमें टाइटल में, इस कीवर्ड के बाद वाला टेक्स्ट मिलता है.
    • inauthor: ऐसे नतीजे दिखाता है जिनमें लेखक के नाम के बाद, इस कीवर्ड के बाद वाला टेक्स्ट मिलता है.
    • inpublisher: ऐसे नतीजे दिखाता है जहां पब्लिशर में, इस कीवर्ड के बाद मौजूद टेक्स्ट मिलता है.
    • subject: ऐसे नतीजे दिखाता है जिनमें इस कीवर्ड के बाद मौजूद टेक्स्ट, वॉल्यूम की कैटगरी की सूची में शामिल हो.
    • isbn: ऐसे नतीजे दिखाता है जिनमें इस कीवर्ड के बाद मौजूद टेक्स्ट, ISBN नंबर हो.
    • lccn: ऐसे नतीजे दिखाता है जिनमें इस कीवर्ड के बाद मौजूद टेक्स्ट, लाइब्रेरी ऑफ़ कांग्रेस कंट्रोल नंबर हो.
    • oclc: ऐसे नतीजे दिखाता है जिनमें इस कीवर्ड के बाद मौजूद टेक्स्ट, Online Computer Library Center का नंबर हो.

अनुरोध

यहां डैनियल कीज़ की "फ़्लॉवर्स फ़ॉर अल्गर्नॉन" खोजने का उदाहरण दिया गया है:

GET https://www.googleapis.com/books/v1/volumes?q=flowers+inauthor:keyes&key=yourAPIKey

ध्यान दें: खोज करने के लिए पुष्टि करने की ज़रूरत नहीं होती. इसलिए, आपको GET अनुरोध के साथ Authorization एचटीटीपी हेडर नहीं देना होगा. हालांकि, अगर पुष्टि करने के साथ कॉल किया जाता है, तो हर वॉल्यूम में उपयोगकर्ता से जुड़ी जानकारी शामिल होगी. जैसे, खरीदे गए कॉन्टेंट का स्टेटस.

जवाब

अगर अनुरोध पूरा हो जाता है, तो सर्वर जवाब में 200 OK एचटीटीपी स्टेटस कोड और वॉल्यूम के नतीजे दिखाता है:

200 OK

{
 "kind": "books#volumes",
 "items": [
  {
   "kind": "books#volume",
   "id": "_ojXNuzgHRcC",
   "etag": "OTD2tB19qn4",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/_ojXNuzgHRcC",
   "volumeInfo": {
    "title": "Flowers",
    "authors": [
     "Vijaya Khisty Bodach"
    ],
   ...
  },
  {
   "kind": "books#volume",
   "id": "RJxWIQOvoZUC",
   "etag": "NsxMT6kCCVs",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/RJxWIQOvoZUC",
   "volumeInfo": {
    "title": "Flowers",
    "authors": [
     "Gail Saunders-Smith"
    ],
    ...
  },
  {
   "kind": "books#volume",
   "id": "zaRoX10_UsMC",
   "etag": "pm1sLMgKfMA",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/zaRoX10_UsMC",
   "volumeInfo": {
    "title": "Flowers",
    "authors": [
     "Paul McEvoy"
    ],
    ...
  },
  "totalItems": 3
}

वैकल्पिक क्वेरी पैरामीटर

वॉल्यूम की खोज करते समय, स्टैंडर्ड क्वेरी पैरामीटर के अलावा, इन क्वेरी पैरामीटर का इस्तेमाल किया जा सकता है.

डाउनलोड करने का फ़ॉर्मैट

download पैरामीटर का इस्तेमाल करके, को epub पर सेट करके, उन वॉल्यूम पर नतीजों को सीमित किया जा सकता है जिनका डाउनलोड फ़ॉर्मैट epub है.

इस उदाहरण में, ऐसी किताबों को खोजा जाता है जिन्हें EPUB फ़ॉर्मैट में डाउनलोड किया जा सकता है:

GET https://www.googleapis.com/books/v1/volumes?q=pride+prejudice&download=epub&key=yourAPIKey
फ़िल्टर करना

filter पैरामीटर का इस्तेमाल करके, दिखाए गए नतीजों को और सीमित किया जा सकता है. इसके लिए, पैरामीटर को इनमें से किसी एक वैल्यू पर सेट करें:

  • partial - ऐसे नतीजे दिखाता है जिनमें टेक्स्ट के कम से कम कुछ हिस्सों की झलक देखी जा सकती है.
  • full - सिर्फ़ ऐसे नतीजे दिखाता है जिनमें पूरा टेक्स्ट दिखता हो.
  • free-ebooks - सिर्फ़ ऐसे नतीजे दिखाता है जो मुफ़्त Google ई-बुक हैं.
  • paid-ebooks - सिर्फ़ ऐसे नतीजे दिखाता है जिनमें कीमत वाली Google ई-बुक शामिल हों.
  • ebooks - सिर्फ़ Google ई-बुक के नतीजे दिखाता है. भले ही, उन्हें खरीदना पड़े या वे मुफ़्त हों. ई-बुक के अलावा, पब्लिशर का ऐसा कॉन्टेंट भी उपलब्ध हो सकता है जिसकी सीमित झलक देखी जा सकती है और जिसे बिक्री के लिए उपलब्ध नहीं कराया गया है. इसके अलावा, पब्लिशर के पास मैगज़ीन भी उपलब्ध हो सकते हैं.

इस उदाहरण में, खोज के नतीजों में सिर्फ़ वे किताबें शामिल की गई हैं जो बिना किसी शुल्क के डाउनलोड की जा सकती हैं:

GET https://www.googleapis.com/books/v1/volumes?q=flowers&filter=free-ebooks&key=yourAPIKey
पेज पर नंबर डालना

अनुरोध के पैरामीटर में दो वैल्यू डालकर, वॉल्यूम की सूची को पेज के हिसाब से बांटा जा सकता है:

  • startIndex - कलेक्शन में वह जगह जहां से शुरू करना है. पहले आइटम का इंडेक्स 0 होता है.
  • maxResults - ज़्यादा से ज़्यादा कितने नतीजे दिखाने हैं. डिफ़ॉल्ट वैल्यू 10 है. हालांकि, ज़्यादा से ज़्यादा 40 वैल्यू डाली जा सकती हैं.

printType पैरामीटर का इस्तेमाल करके, रिटर्न किए गए नतीजों को किसी खास प्रिंट या पब्लिकेशन टाइप तक सीमित किया जा सकता है. इसके लिए, इसे इनमें से किसी एक वैल्यू पर सेट करें:

  • all - प्रिंट टाइप के हिसाब से पाबंदी नहीं लगाता (डिफ़ॉल्ट).
  • books - सिर्फ़ किताबों के नतीजे दिखाता है.
  • magazines - पत्रिकाओं के नतीजे दिखाता है.

इस उदाहरण में, खोज के नतीजों को सिर्फ़ पत्रिकाओं तक सीमित किया गया है:

GET https://www.googleapis.com/books/v1/volumes?q=time&printType=magazines&key=yourAPIKey
अनुमान

projection पैरामीटर का इस्तेमाल, इनमें से किसी एक वैल्यू के साथ किया जा सकता है, ताकि दिखाने के लिए वॉल्यूम फ़ील्ड का पहले से तय किया गया सेट तय किया जा सके:

  • full - सभी वॉल्यूम फ़ील्ड दिखाता है.
  • lite - सिर्फ़ कुछ फ़ील्ड दिखाता है. वॉल्यूम रेफ़रंस में, डबल ऐस्टरिस्क के साथ मार्क किए गए फ़ील्ड की जानकारी देखें. इससे आपको पता चलेगा कि कौनसे फ़ील्ड शामिल किए गए हैं.

नीचे दिए गए उदाहरण में, खोज के नतीजों में वॉल्यूम की सीमित जानकारी दिखती है:

GET https://www.googleapis.com/books/v1/volumes?q=flowers&projection=lite&key=yourAPIKey
क्रम से लगाना

डिफ़ॉल्ट रूप से, वॉल्यूम के हिसाब से खोज के अनुरोध से maxResults नतीजे मिलते हैं. यहां maxResults, पेजेशन (ऊपर) में इस्तेमाल किया गया पैरामीटर है. यह खोज के लिए इस्तेमाल हुए शब्दों के हिसाब से क्रम में लगाया जाता है.

orderBy पैरामीटर की वैल्यू को इनमें से किसी एक पर सेट करके, क्रम बदला जा सकता है:

  • relevance - खोज के लिए इस्तेमाल हुए शब्दों के हिसाब से नतीजे दिखाता है. यह डिफ़ॉल्ट क्रम है.
  • newest - सबसे हाल ही में पब्लिश किए गए से लेकर सबसे कम हाल ही में पब्लिश किए गए के क्रम में नतीजे दिखाता है.

यहां दिए गए उदाहरण में, पब्लिश करने की तारीख के हिसाब से नतीजे दिखाए गए हैं. सबसे नए से सबसे पुराने के क्रम में:

GET https://www.googleapis.com/books/v1/volumes?q=flowers&orderBy=newest&key=yourAPIKey

कोई खास वॉल्यूम वापस लाना

किसी खास वॉल्यूम की जानकारी पाने के लिए, वॉल्यूम के रिसॉर्स यूआरआई पर एचटीटीपी GET अनुरोध भेजें:

https://www.googleapis.com/books/v1/volumes/volumeId

volumeId पाथ पैरामीटर को उस वॉल्यूम के आईडी से बदलें जिसे आपको वापस लाना है. वॉल्यूम आईडी के बारे में ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध

यहां GET अनुरोध का एक उदाहरण दिया गया है, जिसमें एक वॉल्यूम मिलता है:

GET https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC?key=yourAPIKey

ध्यान दें: वॉल्यूम की जानकारी पाने के लिए, पुष्टि करने की ज़रूरत नहीं होती. इसलिए, आपको GET अनुरोध के साथ Authorization एचटीटीपी हेडर देने की ज़रूरत नहीं है. हालांकि, अगर कॉल पुष्टि करने के साथ किया जाता है, तो वॉल्यूम में उपयोगकर्ता के हिसाब से जानकारी शामिल होगी. जैसे, खरीदे गए स्टेटस की जानकारी.

जवाब

अगर अनुरोध पूरा हो जाता है, तो सर्वर 200 OK एचटीटीपी स्टेटस कोड और अनुरोध किए गए वॉल्यूम रिसॉर्स के साथ जवाब देता है:

200 OK

{
 "kind": "books#volume",
 "id": "zyTCAlFPjgYC",
 "etag": "f0zKg75Mx/I",
 "selfLink": "https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC",
 "volumeInfo": {
  "title": "The Google story",
  "authors": [
   "David A. Vise",
   "Mark Malseed"
  ],
  "publisher": "Random House Digital, Inc.",
  "publishedDate": "2005-11-15",
  "description": "\"Here is the story behind one of the most remarkable Internet
  successes of our time. Based on scrupulous research and extraordinary access
  to Google, ...",
  "industryIdentifiers": [
   {
    "type": "ISBN_10",
    "identifier": "055380457X"
   },
   {
    "type": "ISBN_13",
    "identifier": "9780553804577"
   }
  ],
  "pageCount": 207,
  "dimensions": {
   "height": "24.00 cm",
   "width": "16.03 cm",
   "thickness": "2.74 cm"
  },
  "printType": "BOOK",
  "mainCategory": "Business & Economics / Entrepreneurship",
  "categories": [
   "Browsers (Computer programs)",
   ...
  ],
  "averageRating": 3.5,
  "ratingsCount": 136,
  "contentVersion": "1.1.0.0.preview.2",
  "imageLinks": {
   "smallThumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=5&edge=curl&source=gbs_api",
   "thumbnail": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=1&edge=curl&source=gbs_api",
   "small": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=2&edge=curl&source=gbs_api",
   "medium": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=3&edge=curl&source=gbs_api",
   "large": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=4&edge=curl&source=gbs_api",
   "extraLarge": "https://books.google.com/books?id=zyTCAlFPjgYC&printsec=frontcover&img=1&zoom=6&edge=curl&source=gbs_api"
  },
  "language": "en",
  "infoLink": "https://books.google.com/books?id=zyTCAlFPjgYC&ie=ISO-8859-1&source=gbs_api",
  "canonicalVolumeLink": "https://books.google.com/books/about/The_Google_story.html?id=zyTCAlFPjgYC"
 },
 "saleInfo": {
  "country": "US",
  "saleability": "FOR_SALE",
  "isEbook": true,
  "listPrice": {
   "amount": 11.99,
   "currencyCode": "USD"
  },
  "retailPrice": {
   "amount": 11.99,
   "currencyCode": "USD"
  },
  "buyLink": "https://books.google.com/books?id=zyTCAlFPjgYC&ie=ISO-8859-1&buy=&source=gbs_api"
 },
 "accessInfo": {
  "country": "US",
  "viewability": "PARTIAL",
  "embeddable": true,
  "publicDomain": false,
  "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY",
  "epub": {
   "isAvailable": true,
   "acsTokenLink": "https://books.google.com/books/download/The_Google_story-sample-epub.acsm?id=zyTCAlFPjgYC&format=epub&output=acs4_fulfillment_token&dl_type=sample&source=gbs_api"
  },
  "pdf": {
   "isAvailable": false
  },
  "accessViewStatus": "SAMPLE"
 }
}
ऐक्सेस की जानकारी

accessInfo सेक्शन से यह पता चलता है कि किसी ई-बुक के लिए कौनसी सुविधाएं उपलब्ध हैं. epub, फ़्लोइंग टेक्स्ट फ़ॉर्मैट वाली ई-बुक है. epub सेक्शन में एक isAvailable प्रॉपर्टी होगी, जिससे पता चलेगा कि इस तरह की ई-बुक उपलब्ध है या नहीं. अगर किताब का सैंपल उपलब्ध है या उपयोगकर्ता ने किताब खरीदी है या किताब उस देश/इलाके में सार्वजनिक डोमेन में उपलब्ध है, तो उसमें डाउनलोड करने का लिंक होगा. Google Books के लिए pdf का मतलब है कि ई-बुक का स्कैन किया गया पेज वर्शन उपलब्ध है. इसमें ई-बुक के बारे में अन्य जानकारी भी होती है. जैसे, यह किताब उपलब्ध है या नहीं और उसका डाउनलोड लिंक. Google, eReaders और स्मार्टफ़ोन के लिए epub फ़ाइलों का सुझाव देता है. ऐसा इसलिए, क्योंकि स्कैन किए गए पेजों को इन डिवाइसों पर पढ़ना मुश्किल हो सकता है. अगर accessInfo सेक्शन मौजूद नहीं है, तो इसका मतलब है कि वॉल्यूम, Google ई-बुक के तौर पर उपलब्ध नहीं है.

वैकल्पिक क्वेरी पैरामीटर

स्टैंडर्ड क्वेरी पैरामीटर के अलावा, किसी खास वॉल्यूम को फिर से पाने के लिए, यहां दिए गए क्वेरी पैरामीटर का इस्तेमाल किया जा सकता है.

अनुमान

projection पैरामीटर का इस्तेमाल, इनमें से किसी एक वैल्यू के साथ किया जा सकता है, ताकि दिखाने के लिए वॉल्यूम फ़ील्ड का पहले से तय किया गया सेट तय किया जा सके:

  • full - सभी वॉल्यूम फ़ील्ड दिखाता है.
  • lite - सिर्फ़ कुछ फ़ील्ड दिखाता है. वॉल्यूम रेफ़रंस में, डबल ऐस्टरिस्क के साथ मार्क किए गए फ़ील्ड की जानकारी देखें. इससे आपको पता चलेगा कि कौनसे फ़ील्ड शामिल किए गए हैं.

यहां दिए गए उदाहरण में, किसी एक वॉल्यूम के बारे में सीमित जानकारी दिखती है:

GET https://www.googleapis.com/books/v1/volumes/zyTCAlFPjgYC?projection=lite&key=yourAPIKey

किताबों की अलमारियों के साथ काम करना

उपयोगकर्ता की सार्वजनिक बुकशेल्फ़ की सूची पाना

किसी उपयोगकर्ता की सार्वजनिक किताबों की शेल्फ़ की सूची पाने के लिए, यूआरआई पर एचटीटीपी GET अनुरोध भेजें. इसके लिए, इस फ़ॉर्मैट का इस्तेमाल करें:

https://www.googleapis.com/books/v1/users/userId/bookshelves

userId पाथ पैरामीटर को उस उपयोगकर्ता के आईडी से बदलें जिसकी किताबों की शेल्फ़ आपको वापस चाहिए. यूज़र आईडी के बारे में ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध

उदाहरण के लिए:

GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves&key=yourAPIKey

सार्वजनिक किताबों की शेल्फ़ से जुड़ी जानकारी पाने के लिए, उपयोगकर्ता की पुष्टि करने की ज़रूरत नहीं होती. इसलिए, आपको GET अनुरोध के साथ Authorization एचटीटीपी हेडर नहीं देना होगा.

जवाब

अनुरोध पूरा होने पर, सर्वर 200 OK एचटीटीपी स्टेटस कोड और किताबों की शेल्फ़ की सूची के साथ जवाब देता है:

200 OK

{
 "kind": "books#bookshelves",
 "items": [
  {
   ...
  },
  {
   "kind": "books#bookshelf",
   "id": 3,
   "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3",
   "title": "Reading now",
   "description": "",
   "access": "PUBLIC",
   "updated": "2011-02-02T20:34:20.146Z",
   "created": "2011-02-02T20:34:20.146Z",
   "volumeCount": 2,
   "volumesLastUpdated": "2011-02-02T20:34:20.110Z"
  },
  ...
 ]
}

वैकल्पिक क्वेरी पैरामीटर

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

कोई सार्वजनिक किताबों की अलमारी वापस लाना

किसी खास सार्वजनिक किताबों की अलमारी को वापस पाने के लिए, यूआरएल पर एचटीटीपी GET अनुरोध भेजें. इसके लिए, यह फ़ॉर्मैट इस्तेमाल करें:

https://www.googleapis.com/books/v1/users/userId/bookshelves/shelf

userId और shelf पाथ पैरामीटर को उन आईडी से बदलें जिनसे उपयोगकर्ता और वह किताबों की अलमारी की जानकारी मिलती है जिसे आपको वापस लाना है. ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध

उदाहरण के लिए:

GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3?key=yourAPIKey

सार्वजनिक किताबों की शेल्फ़ से जुड़ी जानकारी पाने के लिए, उपयोगकर्ता की पुष्टि करने की ज़रूरत नहीं होती. इसलिए, आपको GET अनुरोध के साथ Authorization एचटीटीपी हेडर नहीं देना होगा.

जवाब

अगर अनुरोध पूरा हो जाता है, तो सर्वर 200 OK एचटीटीपी स्टेटस कोड और bookshelf रिसॉर्स के साथ जवाब देता है:

200 OK

{
  "kind": "books#bookshelf",
  "id": 3,
  "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3",
  "title": "Reading now",
  "description": "",
  "access": "PUBLIC",
  "updated": "2011-02-02T20:34:20.146Z",
  "created": "2011-02-02T20:34:20.146Z",
  "volumeCount": 2,
  "volumesLastUpdated": "2011-02-02T20:34:20.110Z"
}

वैकल्पिक क्वेरी पैरामीटर

किसी खास सार्वजनिक किताबों की अलमारी को ढूंढते समय, स्टैंडर्ड क्वेरी पैरामीटर का इस्तेमाल किया जा सकता है.

सार्वजनिक बुकशेल्फ़ पर मौजूद वॉल्यूम की सूची हासिल करना

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

https://www.googleapis.com/books/v1/user/userId/bookshelves/shelf/volumes

अनुरोध

उदाहरण के लिए:

GET https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3/volumes?key=yourAPIKey

userId और shelf पाथ पैरामीटर को उन आईडी से बदलें जिनसे उपयोगकर्ता और वह किताबों की अलमारी की जानकारी मिलती है जिसे आपको वापस लाना है. ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

सार्वजनिक किताबों की शेल्फ़ से जुड़ी जानकारी पाने के लिए, उपयोगकर्ता की पुष्टि करने की ज़रूरत नहीं होती. इसलिए, आपको GET अनुरोध के साथ Authorization एचटीटीपी हेडर नहीं देना होगा.

जवाब

अनुरोध पूरा होने पर, सर्वर 200 OK एचटीटीपी स्टेटस कोड और उपयोगकर्ता की किताबों की शेल्फ़ की सूची के साथ जवाब देता है:

200 OK

{
 "kind": "books#volumes",
 "items": [
  {
   "kind": "books#volume",
   "id": "AZ5J6B1-4BoC",
   "etag": "kIzQA7IUObk",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/AZ5J6B1-4BoC",
   "volumeInfo": {
    "title": "The Girl Who Kicked the Hornet's Nest",
    "authors": [
     "Stieg Larsson"
    ],
    "publisher": "Knopf",
    "publishedDate": "2010-05-25",
    ...
  },
  {
   "kind": "books#volume",
   "id": "UvK1Slvkz3MC",
   "etag": "otKmdbRgdFQ",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/UvK1Slvkz3MC",
   "volumeInfo": {
    "title": "The Girl who Played with Fire",
    "authors": [
     "Stieg Larsson"
    ],
    "publisher": "Knopf",
    "publishedDate": "2009-07-28",
    ...
  },
  {
   "kind": "books#volume",
   "id": "OBM3AAAAIAAJ",
   "etag": "xb47kTr8HsQ",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/OBM3AAAAIAAJ",
   "volumeInfo": {
    "title": "The Sign of Four",
    "authors": [
     "Sir Arthur Conan Doyle"
    ],
    "publishedDate": "1890",
    ...
  }
 ],
 "totalItems": 3
}

वैकल्पिक क्वेरी पैरामीटर

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

पेज पर नंबर डालना

अनुरोध के पैरामीटर में दो वैल्यू डालकर, वॉल्यूम की सूची को पेज के हिसाब से बांटा जा सकता है:

  • startIndex - कलेक्शन में वह जगह जहां से शुरू करना है. पहले आइटम का इंडेक्स 0 होता है.
  • maxResults - ज़्यादा से ज़्यादा कितने नतीजे दिखाने हैं. डिफ़ॉल्ट वैल्यू 10 है. हालांकि, ज़्यादा से ज़्यादा 40 वैल्यू डाली जा सकती हैं.

"मेरी लाइब्रेरी" में किताबों की शेल्फ़ इस्तेमाल करना

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

मेरी किताबों की शेल्फ़ की सूची पाना

पुष्टि किए गए उपयोगकर्ता की सभी किताबों की शेल्फ़ की सूची पाने के लिए, यूआरआई पर एचटीटीपी GET अनुरोध भेजें. यह अनुरोध इस फ़ॉर्मैट में होना चाहिए:

https://www.googleapis.com/books/v1/mylibrary/bookshelves

अनुरोध

उदाहरण के लिए:

GET https://www.googleapis.com/books/v1/mylibrary/bookshelves?key=yourAPIKey
Authorization: /* auth token here */

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

जवाब

अगर अनुरोध पूरा हो जाता है, तो सर्वर 200 OK एचटीटीपी के स्टेटस कोड और पुष्टि किए गए मौजूदा उपयोगकर्ता की सभी किताबों की सूची के साथ जवाब देता है:

200 OK

{
 "kind": "books#bookshelves",
 "items": [
  {
   "kind": "books#bookshelf",
   "id": 0,
   "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/0",
   "title": "Favorites",
   "access": "PRIVATE",
   "updated": "2011-04-22T04:03:15.416Z",
   "created": "2011-04-22T04:03:15.416Z",
   "volumeCount": 0,
   "volumesLastUpdated": "2011-04-22T04:03:17.000Z"
  },
  {
   "kind": "books#bookshelf",
   "id": 3,
   "selfLink": "https://www.googleapis.com/books/v1/users/1112223334445556677/bookshelves/3",
   "title": "Reading now",
   "access": "PUBLIC",
   "updated": "2010-11-11T19:44:22.377Z",
   "created": "2010-11-11T19:44:22.377Z",
   "volumeCount": 1,
   "volumesLastUpdated": "2010-11-11T19:44:22.341Z"
  }
 ]
}

वैकल्पिक क्वेरी पैरामीटर

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

मेरी किताबों की अलमारी में मौजूद वॉल्यूम की सूची पाना

पुष्टि किए गए उपयोगकर्ता की किताबों की सूची पाने के लिए, यूआरआई पर एचटीटीपी GET अनुरोध भेजें. यह अनुरोध इस फ़ॉर्मैट में होना चाहिए:

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/volumes

shelf पाथ पैरामीटर को, किताबों की अलमारी के आईडी से बदलें. बुकशेल्फ़ आईडी के बारे में ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध

उदाहरण के लिए:

GET https://www.googleapis.com/books/v1/mylibrary/bookshelves/7/volumes?key=yourAPIKey
Authorization: /* auth token here */

ध्यान दें: "मेरी लाइब्रेरी" के वॉल्यूम की लिस्टिंग पाने के लिए, उपयोगकर्ता की पुष्टि ज़रूरी है. इसलिए, आपको GET अनुरोध के साथ Authorization एचटीटीपी हेडर देना होगा.

जवाब

अनुरोध पूरा होने पर, सर्वर 200 OK एचटीटीपी स्टेटस कोड और किताबों की सूची के साथ जवाब देता है:

200 OK

{
 "kind": "books#volumes",
 "items": [
  {
   "kind": "books#volume",
   "id": "AZ5J6B1-4BoC",
   "etag": "kIzQA7IUObk",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/AZ5J6B1-4BoC",
   "volumeInfo": {
    "title": "The Girl Who Kicked the Hornet's Nest",
    "authors": [
     "Stieg Larsson"
    ],
    "publisher": "Knopf",
    "publishedDate": "2010-05-25",
    ...
  },
  {
   "kind": "books#volume",
   "id": "UvK1Slvkz3MC",
   "etag": "otKmdbRgdFQ",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/UvK1Slvkz3MC",
   "volumeInfo": {
    "title": "The Girl who Played with Fire",
    "authors": [
     "Stieg Larsson"
    ],
    "publisher": "Knopf",
    "publishedDate": "2009-07-28",
    ...
  },
  {
   "kind": "books#volume",
   "id": "OBM3AAAAIAAJ",
   "etag": "xb47kTr8HsQ",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/OBM3AAAAIAAJ",
   "volumeInfo": {
    "title": "The Sign of Four",
    "authors": [
     "Sir Arthur Conan Doyle"
    ],
    "publishedDate": "1890",
    ...
  }
 ],
 "totalItems": 3
}

ज़रूरी नहीं क्वेरी पैरामीटर

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

पेज पर नंबर डालना

अनुरोध के पैरामीटर में दो वैल्यू डालकर, वॉल्यूम की सूची को पेज के हिसाब से बांटा जा सकता है:

  • startIndex - कलेक्शन में वह जगह जहां से शुरू करना है. पहले आइटम का इंडेक्स 0 होता है.
  • maxResults - ज़्यादा से ज़्यादा कितने नतीजे दिखाने हैं. डिफ़ॉल्ट रूप से, यह वैल्यू 10 होती है.

अपनी किताबों की अलमारी में कोई वॉल्यूम जोड़ना

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

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/addVolume

shelf पाथ पैरामीटर को, किताबों की अलमारी के आईडी से बदलें. बुकशेल्फ़ आईडी के बारे में ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध में एक ज़रूरी क्वेरी पैरामीटर है:

  • volumeId - वॉल्यूम का आईडी. वॉल्यूम आईडी के बारे में ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध

"पसंदीदा" किताबों की अलमारी में "Flowers for Algernon" जोड़ने का उदाहरण यहां दिया गया है:

POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/addVolume?volumeId=NRWlitmahXkC&key=yourAPIKey
Authorization: /* auth token here */
Content-Type: application/json
Content-Length: CONTENT_LENGTH

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

जवाब

अनुरोध पूरा होने पर, सर्वर 204 No Content एचटीटीपी स्टेटस कोड के साथ जवाब देता है.

वैकल्पिक क्वेरी पैरामीटर

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

अपनी किताबों की अलमारी से कोई वॉल्यूम हटाना

पुष्टि किए गए उपयोगकर्ता की किताबों की अलमारी से कोई वॉल्यूम हटाने के लिए, यूआरआई पर इस फ़ॉर्मैट में एचटीटीपीPOST भेजें:

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/removeVolume

shelf पाथ पैरामीटर को, किताबों की अलमारी के आईडी से बदलें. बुकशेल्फ़ आईडी के बारे में ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध में एक ज़रूरी क्वेरी पैरामीटर है:

  • volumeId - वॉल्यूम का आईडी. वॉल्यूम आईडी के बारे में ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध

"पसंदीदा" शेल्फ़ से "फ़्लॉवर्स फ़ॉर अल्गर्नॉन" को हटाने का उदाहरण यहां दिया गया है:

POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/removeVolume?volumeId=NRWlitmahXkC&key=yourAPIKey
Authorization: /* auth token here */
Content-Type: application/json
Content-Length: CONTENT_LENGTH

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

जवाब

अनुरोध पूरा होने पर, सर्वर 204 No Content स्टेटस कोड के साथ जवाब देता है.

वैकल्पिक क्वेरी पैरामीटर

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

मेरी किताबों की अलमारी से सभी वॉल्यूम हटाना

पुष्टि किए गए उपयोगकर्ता की किताबों की अलमारी से सभी वॉल्यूम हटाने के लिए, यूआरआई पर इस फ़ॉर्मैट में एचटीटीपी POST भेजें:

https://www.googleapis.com/books/v1/mylibrary/bookshelves/shelf/clearVolumes

shelf पाथ पैरामीटर को, किताबों की अलमारी के आईडी से बदलें. बुकशेल्फ़ आईडी के बारे में ज़्यादा जानकारी के लिए, Google Books आईडी सेक्शन देखें.

अनुरोध

"पसंदीदा" किताबों की अलमारी को खाली करने का उदाहरण यहां दिया गया है:

POST https://www.googleapis.com/books/v1/mylibrary/bookshelves/0/clearVolumes?key=yourAPIKey
Authorization: /* auth token here */
Content-Type: application/json
Content-Length: CONTENT_LENGTH
  

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

जवाब

अनुरोध पूरा होने पर, सर्वर जवाब के तौर पर 204 No Content स्टेटस कोड दिखाता है.

ज़रूरी नहीं क्वेरी पैरामीटर

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

क्वेरी पैरामीटर का रेफ़रंस

इस सेक्शन में, उन क्वेरी पैरामीटर के बारे में खास जानकारी दी गई है जिनका इस्तेमाल Books API के साथ किया जा सकता है.  सभी पैरामीटर वैल्यू को कोड में बदलना ज़रूरी है.

स्टैंडर्ड क्वेरी पैरामीटर

Books API के सभी ऑपरेशन पर लागू होने वाले क्वेरी पैरामीटर के बारे में जानकारी, सिस्टम पैरामीटर में दी गई है.

एपीआई के हिसाब से क्वेरी पैरामीटर

Books API में सिर्फ़ कुछ खास ऑपरेशन पर लागू होने वाले अनुरोध पैरामीटर की खास जानकारी, नीचे दी गई टेबल में दी गई है.

पैरामीटर मतलब नोट लागू होने की शर्तें
download डाउनलोड करने की उपलब्धता के हिसाब से वॉल्यूम पर पाबंदी लगाएं.
  • फ़िलहाल, सिर्फ़ epub वैल्यू का इस्तेमाल किया जा सकता है.
  • डाउनलोड करने के लिए, कॉन्टेंट को खरीदना पड़ सकता है.
filter खोज के नतीजों को वॉल्यूम टाइप और उपलब्धता के हिसाब से फ़िल्टर करें.
  • इन फ़िल्टर का इस्तेमाल किया जा सकता है:
    • filter=partial - नतीजों को उन वॉल्यूम तक सीमित करें जिनमें टेक्स्ट के कम से कम कुछ हिस्से की झलक देखी जा सकती है.
    • filter=full - नतीजों को उन वॉल्यूम तक सीमित करें जिनमें पूरा टेक्स्ट दिखता हो.
    • filter=free-ebooks - नतीजों को सिर्फ़ मुफ़्त Google ई-बुक तक सीमित करें.
    • filter=paid-ebooks - खोज के नतीजों में सिर्फ़ Google eBooks पर उपलब्ध ऐसी किताबें दिखाएं जिनकी कीमत तय की गई हो.
    • filter=ebooks - नतीजों को Google की ई-बुक तक सीमित करें. भले ही, उन्हें खरीदने के लिए पैसे चुकाने पड़ें या वे मुफ़्त में उपलब्ध हों. ई-बुक के अलावा, नतीजों में ऐसे कॉन्टेंट भी दिख सकता है जो पब्लिशर ने सीमित तौर पर झलक दिखाने के लिए उपलब्ध कराया है और जिसे बिक्री के लिए उपलब्ध नहीं कराया गया है. इसके अलावा, पत्रिकाएं भी नतीजों में दिख सकती हैं.

 

langRestrict यह विकल्प, खोज के नतीजों में सिर्फ़ उन वॉल्यूम को दिखाता है जिन्हें बताई गई भाषा के साथ टैग किया गया है.
  • खोज के नतीजों में, किसी खास भाषा में लिखे दस्तावेज़ों को ही दिखाने के लिए, langRestrict के बाद दो अक्षरों वाला ISO-639-1 कोड डालें. जैसे, "en" या "fr".
maxResults इस अनुरोध के साथ दिखाए जाने वाले ज़्यादा से ज़्यादा एलिमेंट की संख्या.
  • किसी कलेक्शन के सभी आइटम के लिए किए गए किसी भी अनुरोध के लिए, नतीजों को पेज के हिसाब से देखा जा सकता है. इसके लिए, अनुरोध के पैरामीटर में startIndex और maxResults की वैल्यू दें.
  • डिफ़ॉल्ट: maxResults=10
  • ज़्यादा से ज़्यादा वैल्यू: maxResults=40.
orderBy

खोज के नतीजों का क्रम.

  • डिफ़ॉल्ट रूप से, खोज के अनुरोध पर maxResults नतीजे मिलते हैं. यहां maxResults पैरामीटर का इस्तेमाल पेजेशन में किया जाता है. यह पैरामीटर, सबसे काम के नतीजों को पहले दिखाता है.
  • orderBy पैरामीटर को इनमें से किसी एक वैल्यू पर सेट करके, क्रम बदला जा सकता है:
    • orderBy=relevance - खोज के नतीजों को सबसे काम के से लेकर सबसे कम काम के के क्रम में दिखाता है. यह डिफ़ॉल्ट क्रम है.
    • orderBy=newest - खोज के नतीजों को, पब्लिश होने की सबसे नई तारीख से लेकर सबसे पुरानी तारीख के हिसाब से दिखाता है.
printType किताबों या पत्रिकाओं पर पाबंदी लगाएं.
  • इन वैल्यू का इस्तेमाल किया जा सकता है:
    • printType=all - वॉल्यूम के सभी तरह के कॉन्टेंट दिखाएं (कोई पाबंदी नहीं). यह डिफ़ॉल्ट रूप से होता है.
    • printType=books - सिर्फ़ किताबें लौटाना.
    • printType=magazines - सिर्फ़ पत्रिकाएं लौटाना.
projection फ़ील्ड के सबसेट में, वॉल्यूम की जानकारी दिखाने पर पाबंदी लगाएं.
  • इन प्रोजेक्शन का इस्तेमाल किया जा सकता है:
    • projection=full - इसमें वॉल्यूम का पूरा मेटाडेटा शामिल होता है (डिफ़ॉल्ट).
    • projection=lite - इसमें सिर्फ़ वॉल्यूम और ऐक्सेस मेटाडेटा का विषय शामिल होता है.
q फ़ुल-टेक्स्ट क्वेरी स्ट्रिंग.
  • क्वेरी बनाते समय, खोज के लिए इस्तेमाल हुए शब्दों को '+' लगाकर अलग करें. जैसे, q=term1+term2_term3. इसके अलावा, इन्हें स्पेस से भी अलग किया जा सकता है. हालांकि, क्वेरी पैरामीटर की सभी वैल्यू की तरह ही, स्पेस को भी यूआरएल में बदलना ज़रूरी है. एपीआई, खोज के लिए इस्तेमाल हुए सभी शब्दों से मैच करने वाली सभी एंट्री दिखाता है. जैसे, शब्दों के बीच AND का इस्तेमाल करना. Google के वेब सर्च की तरह ही, एपीआई भी पूरे शब्दों (और एक ही स्टैम वाले मिलते-जुलते शब्दों) पर खोज करता है, न कि सबस्ट्रिंग पर.
  • किसी वाक्यांश को एग्ज़ैक्ट मैच के तौर पर खोजने के लिए, उस वाक्यांश को कोटेशन मार्क में डालें: q="exact phrase".
  • किसी शब्द से मैच होने वाली एंट्री को बाहर रखने के लिए, फ़ॉर्म q=-term का इस्तेमाल करें.
  • खोज के लिए इस्तेमाल किए गए शब्दों के केस पर कोई असर नहीं पड़ता.
  • उदाहरण: उन सभी एंट्री को खोजने के लिए जिनमें "Elizabeth Bennet" वाक्यांश और "Darcy" शब्द शामिल है, लेकिन "Austen" शब्द शामिल नहीं है, क्वेरी पैरामीटर की इस वैल्यू का इस्तेमाल करें:
    q="Elizabeth+Bennet"+Darcy-Austen
  • कुछ खास (केस-सेंसिटिव) कीवर्ड हैं, जिन्हें खोज के लिए इस्तेमाल किए जा सकते हैं. इनकी मदद से, किसी फ़ील्ड में खोज की जा सकती है. जैसे:
    • intitle: ऐसे नतीजे दिखाता है जिनमें इस कीवर्ड के बाद वाला टेक्स्ट टाइटल में मौजूद हो.
    • inauthor: ऐसे नतीजे दिखाता है जिनमें इस कीवर्ड के बाद मौजूद टेक्स्ट, लेखक के नाम में मिलता है.
    • inpublisher: ऐसे नतीजे दिखाता है जिनमें पब्लिशर में इस कीवर्ड के बाद मौजूद टेक्स्ट मिलता है.
    • subject: इससे ऐसे नतीजे मिलते हैं जिनमें इस कीवर्ड के बाद मौजूद टेक्स्ट, वॉल्यूम की कैटगरी सूची में शामिल होता है.
    • isbn: इस कीवर्ड के बाद मौजूद टेक्स्ट, ISBN नंबर होने पर नतीजे दिखाता है.
    • lccn: इस कीवर्ड के बाद मौजूद टेक्स्ट, लाइब्रेरी ऑफ़ कांग्रेस कंट्रोल नंबर होने पर नतीजे दिखाता है.
    • oclc: ऐसे नतीजे दिखाता है जिनमें इस कीवर्ड के बाद मौजूद टेक्स्ट, ऑनलाइन कंप्यूटर लाइब्रेरी सेंटर का नंबर हो.
startIndex कलेक्शन में वह जगह जहां से नतीजों की सूची शुरू करनी है.
  • किसी कलेक्शन के सभी आइटम के लिए किए गए अनुरोध के नतीजों को पेज के हिसाब से देखा जा सकता है. इसके लिए, अनुरोध के पैरामीटर में startIndex और maxResults डालें.
  • पहले आइटम का इंडेक्स 0 होता है.
volumeId अनुरोध से जुड़े वॉल्यूम की पहचान करता है.
  • यह बताता है कि किताबों की अलमारी में कौनसा वॉल्यूम जोड़ना है या हटाना है.