Dynamic Links

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

ध्यान दें: पहले इस सुविधा को किताब के विज्ञापन दिखने से जुड़े आंकड़ों के एपीआई के नाम से जाना जाता था.

झलक देखें विज़र्ड, डाइनैमिक लिंक के ऊपर बना एक टूल है. इसकी मदद से, कोड की कुछ लाइनों को कॉपी करके, किसी साइट की झलक बुक करना और भी आसान हो जाता है. यह दस्तावेज़ उन डेवलपर के लिए है जिनका मकसद किताब की खोज से लिंक करने के तरीके को अपनी पसंद के मुताबिक बनाना है.

विषय सूची

  1. दर्शक
  2. किताब खोजने के लिए इस्तेमाल होने वाली शब्दावली
  3. शुरुआती जानकारी
  4. ब्रैंडिंग से जुड़े दिशा-निर्देश
  5. क्लाइंट-साइड एपीआई
    1. यूआरएल के फ़ॉर्मैट का अनुरोध करें
    2. JSON नतीजों के फ़ॉर्मैट
  6. सिंक्रोनस और एसिंक्रोनस मोड
  7. अक्सर पूछे जाने वाले सवाल
  8. कोड सैंपल

दर्शक

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

किताब खोजने के लिए इस्तेमाल होने वाली शब्दावली

Google Books, उपयोगकर्ता की स्थानीय कॉपीराइट पाबंदियों का पालन करता है. इस वजह से, कुछ किताबों की झलक या पूरे व्यू की सुविधा सभी जगहों पर उपलब्ध नहीं होती है. विज्ञापन दिखने से जुड़े आंकड़ों को इन क्लास में बांटा गया है:

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

शुरुआती जानकारी

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

डाइनैमिक लिंक, JavaScript का इस्तेमाल करके किसी किताब के विज्ञापन दिखने से जुड़े आंकड़ों की क्वेरी करने के लिए, प्रोग्राम के हिसाब से अपने-आप काम करने वाला क्लाइंट-साइड का तरीका उपलब्ध कराता है. यह आपको Book Search में ज़्यादा भरोसेमंद और अनुमान लगाने वाले लिंक शामिल करने देता है. इससे आपके उपयोगकर्ताओं को ज़्यादा बेहतर अनुभव मिलता है. असली उपयोगकर्ता की जगह के हिसाब से विज्ञापन दिखने से जुड़े आंकड़े अलग-अलग होते हैं. इसलिए, डाइनैमिक लिंक का इंटरफ़ेस सर्वर साइड या ऑफ़लाइन क्वेरी के लिए डिज़ाइन नहीं किया गया है.

यह जानने के लिए कि डाइनैमिक लिंक क्या-क्या कर सकते हैं, इस दस्तावेज़ के आखिर में दिए गए कोड सैंपल पर जाएं.

ब्रैंडिंग से जुड़े दिशा-निर्देश

डाइनैमिक लिंक रेंडर करते समय, आपको उन ब्रैंडिंग के दिशा-निर्देशों का पालन करना होगा जो Google Books API फ़ैमिली पर लागू होते हैं. खास तौर पर,

  • आपको Google Books का एट्रिब्यूशन और लिंक बनाए रखना होगा.
  • Google Books पर किताब की झलक से लिंक करते समय, सिर्फ़ उस Google झलक बटन का इस्तेमाल करना चाहिए जिसे मंज़ूरी मिली हो.
  • टेक्स्ट के सभी लिंक, बटन, दस्तावेज़ या जानकारी देने वाले टेक्स्ट को नाम रखने के उन तरीकों के हिसाब से होना चाहिए जिन्हें मंज़ूरी मिली है. उदाहरण के लिए, आपको Google Books पर किताब की झलक से लिंक करते समय, "डाउनलोड करें" या "पढ़ें" वाक्यों का इस्तेमाल नहीं करना चाहिए, क्योंकि सिर्फ़ सभी के लिए उपलब्ध कॉन्टेंट ही पूरी तरह से डाउनलोड किया जा सकता है.

ब्रैंडिंग के उदाहरण

फ़्रीकोनॉमिक्स: ऐन रॉग इकनॉमिस्ट ने हर चीज़ के छिपे हुए पहलू की खोज की
स्टीवन लेविट और स्टीफ़न डबनर की पेशकश

इस दस्तावेज़ के आखिर में दिए गए सैंपल सेक्शन में, ऐसे कुछ और उदाहरण दिए गए हैं जो ब्रैंडिंग के मौजूदा दिशा-निर्देशों के मुताबिक हैं.

क्लाइंट-साइड एपीआई

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

सिंटैक्स का उदाहरण:
<script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback"></script>

अनुरोध का फ़ॉर्मैट

यूआरएल का फ़ॉर्मैट, किताबों से लिंक करने में इस्तेमाल होने वाले यूआरएल सिंटैक्स की तरह होता है. हालांकि, किताब के आईडी वाले फ़ील्ड में, कॉमा लगाकर अलग किए गए कई किताब आईडी हो सकते हैं. साथ ही, उसमें 'jscmd' और 'callback' पैरामीटर शामिल होते हैं. इसके अलावा, विज्ञापन दिखने से जुड़े आंकड़ों के फ़िल्टर को कंट्रोल करने के लिए, अन्य आर्ग्युमेंट इस्तेमाल किए जा सकते हैं.

डाइनैमिक लिंक, किताबों की पहचान करने के कई अलग-अलग तरीकों के साथ काम करते हैं: ISBNs, OCLC नंबर, और LCCN कुंजियां. यह एपीआई, जीईटी अनुरोध के ज़्यादा से ज़्यादा साइज़ के बैच में बनाई गई क्वेरी को अनुमति देता है.

ISBN
&bibkeys=ISBN:0451526538 (यह एपीआई, ISBN 10 और 13, दोनों पर काम करता है.)
ओसीएलसी
&bibkeys=OCLC:36792831
एलसीसीएन
&bibkeys=LCCN:96072233

JSON नतीजों के फ़ॉर्मैट

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

JsonSearchResult {
    string bib_key;
    string info_url;
    string preview_url;
    string thumbnail_url;
    string preview;
};

इन फ़ील्ड में नीचे दी गई जानकारी मिलती है:

bib_key
इस किताब के लिए क्वेरी करने के लिए इस्तेमाल किया जाने वाला आइडेंटिफ़ायर.
info_url
Google Books में मौजूद किसी पेज का यूआरएल, जिसमें किताब की जानकारी (इस किताब के बारे में जानकारी देने वाला पेज) मौजूद है.
preview_url
किताब की झलक का यूआरएल, जो उपयोगकर्ता को सीधे किताब के कवर पर ले जाता है. अगर अनुरोध के लिए सिर्फ़ स्निपेट व्यू या कोई झलक वाली किताब उपलब्ध नहीं है, तो झलक दिखाने वाला कोई यूआरएल नहीं दिखेगा.
thumbnail_url
किताब के कवर के थंबनेल का यूआरएल.
गाने के टीज़र के तौर पर बना शॉर्ट वीडियो
किताब के विज्ञापन दिखने से जुड़े आंकड़ों की स्थिति दिखाने वाली वैल्यू: full (पूरी किताब के लिए), partial (सीमित झलक वाली किताबों के लिए) या noview (स्निपेट या झलक वाली किताबों के लिए).
एम्बेड करने लायक
अगर किताब को Google के एम्बेड किए गए व्यूअर सुविधा का इस्तेमाल करके, तीसरे पक्ष के पेजों पर एम्बेड किया जा सकता है, तो यह बूलियन वैल्यू true होगी.

रिस्पॉन्स, एक JSON ऑब्जेक्ट है जिसमें दो फ़ील्ड होते हैं, "books" जिसमें किताब के ऑब्जेक्ट के मैप की वैल्यू है और "options" जिसमें उस अनुरोध के लिए चालू किए गए विकल्पों की सूची होती है. अगर कोई विकल्प नहीं चुना गया है, तो जवाब में "विकल्प" फ़ील्ड को हटाया जा सकता है. उदाहरण के लिए:

Request:
https://books.google.com/books?jscmd=viewapi&bibkeys=0596000278,00-invalid-isbn,ISBN0765304368,0439554934&callback=ProcessGBSBookInfo

Response:
ProcessGBSBookInfo({
    "0596000278":{
        "bib_key":"0596000278",
        "info_url":"https://books.google.com/books?id=ezqe1hh91q4C&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=ezqe1hh91q4C&printsec=frontcover&sig=zSQ5gwlX1NZl_24M86KS8Rbj33Q&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=ezqe1hh91q4C&pg=PR3&img=1&zoom=5&sig=bBmzIAIiCtMcM7Ii7TUHycqqEWg",
        "preview":"partial"
    },
    "ISBN0765304368":{
        "bib_key":"ISBN0765304368",
        "info_url":"https://books.google.com/books?id=gfg13CM_kU8C&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=gfg13CM_kU8C&printsec=frontcover&sig=jIrSb_SkcQRhy_VvtnKbTXjmvos&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=gfg13CM_kU8C&pg=PP1&img=1&zoom=5&sig=LsTwGVAsy_qWYMPM6HVDTPAMokg",
        "preview":"full"
    },
    "0439554934":{
        "bib_key":"0439554934",
        "info_url":"https://books.google.com/books?id=iwiYGwAACAAJ&source=gbs_ViewAPI",
        "preview_url":"https://books.google.com/books?id=iwiYGwAACAAJ&source=gbs_ViewAPI",
        "thumbnail_url":"https://books.google.com/books?id=iwiYGwAACAAJ&printsec=frontcover&img=1&zoom=5&sig=_L6ySKDAs-8gNK28c3NyFdO22ZM",
        "preview":"noview"}
});

इसके बाद, डेवलपर, GBS सर्वर से मिले JSON के नतीजों के हिसाब से अपने वेब पेजों के कॉन्टेंट और दिखने के तरीके में बदलाव कर सकते हैं. फ़िलहाल, GBS ऐसा करने के लिए DOM में बदलाव करने के लिए लाइब्रेरी उपलब्ध नहीं कराता.

पैरामीटर और अन्य फ़ील्ड

जेएससीएमडी
Google Books से जुड़ा अनुरोध.
कॉलबैक
उस JavaScript फ़ंक्शन का नाम जिसमें हम रिटर्न पास करते हैं.

सिंक्रोनस बनाम एसिंक्रोनस मोड

एसिंक्रोनस मोड

एसिंक्रोनस मोड में डेवलपर, दस्तावेज़ के <head> में <script> टैग डाल देता है और पेज को रेंडर करने के लिए ज़रूरी सभी आइडेंटिफ़ायर के साथ यूआरएल बनाता है. डेटा, कॉल से वैरिएबल में मिलता है. इससे किताब की जानकारी, दस्तावेज़ के बाकी हिस्सों में उपलब्ध हो जाती है. साथ ही, इसे एचटीएमएल और JavaScript से तुरंत ऐक्सेस किया जा सकता है.

सिंक्रोनस मोड

सिंक्रोनस मोड में, डेवलपर एचटीएमएल <body> के बीच में यूआरएल का इस्तेमाल करता है. रिस्पॉन्स को JavaScript कॉलबैक की मदद से मैनेज किया जाता है.

अक्सर पूछे जाने वाले सवाल

सवाल: क्या डाइनैमिक लिंक इस्तेमाल करने के लिए, मुझे एपीआई पासकोड या दूसरी अनुमति की ज़रूरत होगी?
जवाब: डाइनैमिक लिंक इस्तेमाल करने के लिए, किसी एपीआई पासकोड या अनुमति की ज़रूरत नहीं होती. शुरू करने के लिए, हमारे उदाहरणों में से किसी एक को कॉपी करें और चिपकाएं और कोडिंग शुरू करें.
प्र.: उन ब्राउज़र का क्या होगा जो या तो JavaScript का समर्थन नहीं करते या उसे अक्षम कर दिया गया है?
जवाब: अगर किसी उपयोगकर्ता के ब्राउज़र में JavaScript चालू नहीं है, तो यह जांच करने का कोई तरीका नहीं है कि Google Books पर कोई किताब है या नहीं. हम JavaScript के बिना ब्राउज़र के लिए Google Books की स्टैटिक लिंक स्ट्रक्चर का इस्तेमाल करने का सुझाव देते हैं. हालांकि, याद रखें कि आपको पहले से यह पता नहीं चल सकता कि Google Books में वह किताब है या नहीं जिससे आप लिंक कर रहे हैं.
सवाल: मैं एक बार में कितनी किताबें खोज सकता/सकती हूं?
जवाब: जो किताबें खोजी जा सकती हैं उनकी संख्या, जीईटी अनुरोधों की लंबाई से ही तय होती है. Microsoft Internet Explorer में, यूआरएल की ज़्यादा से ज़्यादा लंबाई (2,083 वर्ण) से जीईटी अनुरोधों की सीमा तय होती है.
सवाल: Google Books कुछ समय पहले ही किसी किताब के लिए नतीजे दिखा रहा था. यह अब नतीजे क्यों नहीं दिखा रहा है?
जवाब: डेवलपर अक्सर असामान्य संख्या में अनुरोध करते हैं, इसलिए हो सकता है कि आप गलती से Google Books में सुरक्षा से जुड़ी सावधानियों के बारे में सूचना दे दें. ऐसा हो रहा है या नहीं, यह देखने के लिए देखें कि एपीआई से क्या जवाब मिल रहा है. अगर यह कैप्चा भरने का अनुरोध है, तो इसका मतलब है कि आपने बहुत सारी क्वेरी जारी कर दी हैं. हमारा सुझाव है कि आप Google Books में लॉग इन करें और फिर से कोशिश करें.
सवाल: निजता की क्या भूमिका है?
जवाब: किताब के विज्ञापन दिखने से जुड़े आंकड़ों से जुड़ी क्वेरी के जवाब देने पर, Google को ऐसा सर्वर लॉग डेटा मिलता है जिसकी पहचान व्यक्तिगत तौर पर नहीं की जा सकती. हम उपयोगकर्ता की निजता को गंभीरता से लेते हैं और इस डेटा का इस्तेमाल अपनी निजता नीति के मुताबिक करते हैं. अगर आप उपयोगकर्ताओं को कोई ऐसी सेवा दे रहे हैं जिसमें किताब के विज्ञापन दिखने से जुड़े आंकड़े शामिल हैं, तो हो सकता है कि आप अपने उपयोगकर्ताओं को यह बताना चाहें कि आपकी सेवा डाइनैमिक लिंक के ज़रिए Google पर क्वेरी भी सबमिट करती है.

कोड सैंपल

इस सेक्शन में ऐसे सैंपल दिए गए हैं जिनमें डाइनैमिक लिंक को इस्तेमाल करने के अलग-अलग तरीके बताए गए हैं. किसी भी उदाहरण पर क्लिक करके, उसे काम करते हुए देखा जा सकता है. कोड को देखने के लिए, अपने ब्राउज़र में "सोर्स देखें" पर क्लिक करें.

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