Dynamic Links

Google Books Dynamic Links বৈশিষ্ট্য আপনাকে আপনার সাইট থেকে Google Books-এ আরও কাস্টমাইজযোগ্য, নির্ভরযোগ্য লিঙ্ক তৈরি করতে দেয়। উদাহরণ স্বরূপ, এই টুলটি আপনাকে "স্মার্ট" লিঙ্ক তৈরি করতে দেয় যেগুলি শুধুমাত্র তখনই দেখা যায় যখন একটি বই আমাদের সূচীতে থাকে, অথবা এমন লিঙ্কগুলি প্রদর্শন করে যা আপনার ব্যবহারকারীদের নির্দেশ করে যে Google Books-এ একটি বইয়ের পূর্বরূপ দেখা যাবে কিনা৷ ডাইনামিক লিঙ্ক বৈশিষ্ট্যটি আপনাকে Google Books-এর লিঙ্কে একটি থাম্বনেইল চিত্র অন্তর্ভুক্ত করতে দেয়। এই দস্তাবেজটি আপনাকে দ্রুত আপনার সাইটে এই কার্যকারিতা যোগ করতে দেওয়ার উদ্দেশ্যে করা হয়েছে৷

দ্রষ্টব্য: এই বৈশিষ্ট্যটি পূর্বে Book Viewability API নামে পরিচিত ছিল।

প্রিভিউ উইজার্ড হল ডায়নামিক লিঙ্কের উপরে তৈরি একটি টুল যা শুধুমাত্র কয়েকটি লাইন কোড কপি করে সাইট থেকে বুক প্রিভিউতে লিঙ্ক করা আরও সহজ করে তোলে। এই দস্তাবেজটি আরও উন্নত বিকাশকারীদের জন্য উদ্দিষ্ট যে তারা কীভাবে বই অনুসন্ধানের সাথে লিঙ্ক করে তা কাস্টমাইজ করতে চায়৷

বিষয়বস্তু

  1. শ্রোতা
  2. বই অনুসন্ধান পরিভাষা
  3. ভূমিকা
  4. ব্র্যান্ডিং নির্দেশিকা
  5. ক্লায়েন্ট-সাইড API
    1. URL বিন্যাস অনুরোধ করুন
    2. JSON ফলাফল বিন্যাস
  6. সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস মোড
  7. সচরাচর জিজ্ঞাস্য
  8. কোড নমুনা

শ্রোতা

ডায়নামিক লিঙ্ক ডকুমেন্টেশনটি এমন প্রোগ্রামারদের জন্য তৈরি করা হয়েছে যারা ওয়েব অ্যাপ্লিকেশন লিখতে চান যা Google Books-এর মধ্যে বইগুলির সাথে লিঙ্ক করে। এই ডকুমেন্টেশন অনুমান করে যে আপনি HTTP প্রোটোকল এবং মৌলিক জাভাস্ক্রিপ্টের সাথে পরিচিত।

বই অনুসন্ধান পরিভাষা

Google Books ব্যবহারকারীর স্থানীয় কপিরাইট বিধিনিষেধকে সম্মান করে, এবং ফলস্বরূপ, কিছু বইয়ের পূর্বরূপ বা সম্পূর্ণ ভিউ সব জায়গায় পাওয়া যায় না। দর্শনযোগ্যতা নিম্নলিখিত ক্লাসে ক্লাস্টার করা হয়েছে:

পুরা দেখা
পুরো বইটি দর্শনযোগ্য। এই বইগুলো পাবলিক ডোমেইনে থাকতে পারে।
সীমিত প্রিভিউ
বইটির একটি অংশ দর্শনযোগ্য। এই বইটি কপিরাইটের অধীনে রয়েছে এবং Google Books এই পৃষ্ঠাগুলিকে ব্যবহারকারীদের কাছে অ্যাক্সেসযোগ্য করার অনুমতি পেয়েছে৷ এই বইগুলি স্নিপেট ভিউ বইগুলির থেকে আলাদা যাতে ব্যবহারকারীরা সম্পূর্ণ পৃষ্ঠাগুলি দেখতে পারে৷
স্নিপেট ভিউ এবং কোন প্রিভিউ নেই
ব্যবহারকারীরা শুধুমাত্র একটি "বই সম্পর্কে" পৃষ্ঠা দেখতে পান। সর্বাধিক, বই থেকে শুধুমাত্র সংক্ষিপ্ত উদ্ধৃতি পাওয়া যায়. এই বইটি হয় স্ক্যান করা হয়নি, বা কপিরাইটের অধীনে রয়েছে এবং Google Books ব্যবহারকারীর অনুসন্ধান শব্দের সাথে সম্পর্কিত কয়েকটি "স্নিপেট" প্রকাশ করার অনুমতি পায়নি৷

ভূমিকা

স্ট্যাটিক লিঙ্ক ডকুমেন্টেশন Google Books-এ একটি নির্দিষ্ট বইয়ের পৃষ্ঠায় URL তৈরি করার একটি খুব সহজ উপায় বর্ণনা করে। দুর্ভাগ্যবশত, কখনও কখনও এমন হয় যে একটি নির্দিষ্ট বই Google Books সূচীতে নেই, বা একটি নির্দিষ্ট ভৌগলিক অবস্থানে ব্যবহারকারীর জন্য একটি পূর্বরূপ উপলব্ধ নয়৷ যেহেতু স্ট্যাটিক লিঙ্কগুলি "অন্ধ" হয়, সেগুলি কখনও কখনও উদ্দেশ্যমূলক প্রভাব ফেলতে ব্যর্থ হয়৷

ডাইনামিক লিংক জাভাস্ক্রিপ্ট ব্যবহার করে একটি বইয়ের দর্শনযোগ্যতা অনুসন্ধানের জন্য একটি বিকল্প, প্রোগ্রাম্যাটিক ক্লায়েন্ট-সাইড পদ্ধতি প্রদান করে। এটি আপনাকে বই অনুসন্ধানে আরও নির্ভরযোগ্য এবং অনুমানযোগ্য লিঙ্কগুলি অন্তর্ভুক্ত করতে দেয়, যা আপনার ব্যবহারকারীদের জন্য আরও সামঞ্জস্যপূর্ণ অভিজ্ঞতার দিকে নিয়ে যায়। যেহেতু শেষ ব্যবহারকারীর অবস্থান অনুযায়ী দর্শনযোগ্যতা পরিবর্তিত হয়, তাই গতিশীল লিঙ্ক ইন্টারফেস সার্ভার-সাইড বা অফলাইন প্রশ্নের জন্য ডিজাইন করা হয়নি।

ডায়নামিক লিঙ্কগুলি কী করতে পারে তা বোঝার জন্য, এই নথির শেষে কোড নমুনাগুলিতে যান৷

ব্র্যান্ডিং নির্দেশিকা

ডায়নামিক লিঙ্ক রেন্ডার করার সময়, আপনাকে অবশ্যই ব্র্যান্ডিং নির্দেশিকা মেনে চলতে হবে যা Google Books API পরিবারকে পরিচালনা করে। নির্দিষ্টভাবে,

  • আপনাকে অবশ্যই Google Books-এর অ্যাট্রিবিউশন এবং লিঙ্কগুলি বজায় রাখতে হবে।
  • Google Books-এ প্রিভিউ লিঙ্ক করার সময় আপনাকে শুধুমাত্র অনুমোদিত Google Preview বাটন ব্যবহার করতে হবে।
  • যেকোন টেক্সট লিঙ্ক, বোতাম, ডকুমেন্টেশন বা বর্ণনামূলক টেক্সট অনুমোদিত নামকরণের নিয়ম মেনে চলা উচিত। উদাহরণস্বরূপ, Google Books প্রিভিউগুলির সাথে লিঙ্ক করার সময় আপনার "ডাউনলোড" বা "পড়ুন" ক্রিয়াপদগুলি ব্যবহার করা উচিত নয়, কারণ শুধুমাত্র সর্বজনীন ডোমেনের কাজগুলি সম্পূর্ণরূপে ডাউনলোড করা যেতে পারে৷

উদাহরণ ব্র্যান্ডিং

ফ্রিকোনমিক্স: একজন দুর্বৃত্ত অর্থনীতিবিদ সবকিছুর লুকানো দিকটি অন্বেষণ করে
স্টিভেন লেভিট এবং স্টিফেন ডাবনার দ্বারা

এই নথির শেষে নমুনা বিভাগটি অতিরিক্ত উদাহরণ প্রদান করে যা বর্তমান ব্র্যান্ডিং নির্দেশিকাগুলির সাথে সঙ্গতিপূর্ণ।

ক্লায়েন্ট-সাইড API

ক্লায়েন্ট-সাইড ডায়নামিক লিঙ্কের মূল অংশে রয়েছে একটি URL বিন্যাস যা ডেভেলপারদের এক বা একাধিক বইয়ের তথ্যের জন্য অনুরোধ করে URL তৈরি করতে এবং Google Books এ অনুরোধ পাঠাতে দেয় < script> < script> ট্যাগ।

সিনট্যাক্স উদাহরণ:
< script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback">< /script> < script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback">< /script> < script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback">< /script>

বিন্যাস অনুরোধ

URL এর বিন্যাসটি বইগুলির সাথে লিঙ্ক করার জন্য ব্যবহৃত URL সিনট্যাক্সের অনুরূপ, তবে বইয়ের আইডি ক্ষেত্রে একাধিক কমা বিভক্ত বই আইডি থাকতে পারে এবং অতিরিক্ত 'jscmd' এবং 'কলব্যাক' প্যারামিটার রয়েছে৷ ঐচ্ছিকভাবে, দর্শনযোগ্যতা ফিল্টার নিয়ন্ত্রণ করতে অতিরিক্ত আর্গুমেন্ট থাকতে পারে।

ডায়নামিক লিঙ্কগুলি বই সনাক্ত করার জন্য বিভিন্ন পদ্ধতি সমর্থন করে: ISBN, OCLC নম্বর এবং LCCN কী। API একটি GET অনুরোধের সর্বাধিক আকারের আকার পর্যন্ত ব্যাচ করা প্রশ্নগুলির অনুমতি দেয়৷

আইএসবিএন
&bibkeys=ISBN:0451526538 (API 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;
};

এই ক্ষেত্রগুলি নিম্নলিখিত তথ্য প্রদান করে:

বিব_কী
শনাক্তকারী এই বইটি জিজ্ঞাসা করতে ব্যবহৃত৷
info_url
বইয়ের তথ্য সহ Google Books-এর মধ্যে একটি পৃষ্ঠার URL (এই বইয়ের পৃষ্ঠা সম্পর্কে)।
preview_url
বইয়ের পূর্বরূপের একটি URL, যা ব্যবহারকারীকে সরাসরি বইয়ের প্রচ্ছদে নিয়ে যায়। অনুরোধের জন্য শুধুমাত্র স্নিপেট ভিউ বা কোন প্রিভিউ বই পাওয়া না গেলে, কোন পূর্বরূপ URL ফেরত দেওয়া হবে না।
thumbnail_url
বইয়ের কভারের থাম্বনেইলের একটি URL।
পূর্বরূপ
একটি মান যা বইটির দর্শনযোগ্যতার অবস্থা নির্দেশ করে: full (সম্পূর্ণ ভিউ বইয়ের জন্য), partial (সীমিত প্রিভিউ বইয়ের জন্য), অথবা noview (স্নিপেট বা কোন প্রিভিউ বইয়ের জন্য)।
এমবেডযোগ্য
এই বুলিয়ান true যদি বইটি বই অনুসন্ধান এমবেডেড ভিউয়ার ব্যবহার করে তৃতীয় পক্ষের পৃষ্ঠাগুলিতে এম্বেড করা যায়।

প্রতিক্রিয়া হল দুটি ক্ষেত্র সহ একটি JSON অবজেক্ট, "বই" যার একটি মান রয়েছে বইয়ের বস্তুর মানচিত্র এবং "বিকল্প" যাতে সেই অনুরোধের জন্য সক্রিয় বিকল্পগুলির একটি তালিকা রয়েছে৷ যদি কোন বিকল্প নির্দিষ্ট করা না থাকে, তাহলে প্রতিক্রিয়াতে "বিকল্প" ক্ষেত্রটি বাদ দেওয়া হতে পারে। উদাহরণ স্বরূপ:

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 পরিবর্তন করার জন্য লাইব্রেরি প্রদান করে না।

পরামিতি এবং অতিরিক্ত ক্ষেত্র

jscmd
গুগল বইয়ের কাছে অনুরোধ।
কলব্যাক
জাভাস্ক্রিপ্ট ফাংশনের নাম যা আমরা রিটার্ন পাস করি।

সিঙ্ক্রোনাস বনাম অ্যাসিঙ্ক্রোনাস মোড

অ্যাসিঙ্ক্রোনাস মোড

অ্যাসিঙ্ক্রোনাস মোডে, ডেভেলপার ডকুমেন্টের <head> -এ <script> ট্যাগ রাখে এবং পৃষ্ঠা রেন্ডার করার জন্য প্রয়োজনীয় সমস্ত শনাক্তকারীর সাথে URL তৈরি করে। একটি পরিবর্তনশীল কল থেকে ডেটা প্রাপ্ত হয়। এটি নথির বাকি অংশে বইটির তথ্য উপলব্ধ করে এবং এটি HTML এবং JavaScript এ অবিলম্বে অ্যাক্সেস করা যেতে পারে।

সিঙ্ক্রোনাস মোড

সিঙ্ক্রোনাস মোডে, বিকাশকারী HTML <body> এর মাঝখানে ইউআরএল ব্যবহার করে; প্রতিক্রিয়া একটি জাভাস্ক্রিপ্ট কলব্যাক ব্যবহার করে পরিচালনা করা হয়।

সচরাচর জিজ্ঞাস্য

প্রশ্ন: গতিশীল লিঙ্কগুলি ব্যবহার করার জন্য আমার কি একটি API কী বা অন্য অনুমতির প্রয়োজন?
উত্তর: গতিশীল লিঙ্কগুলি ব্যবহার করার জন্য কোনও API কী বা অন্য অনুমোদনের প্রয়োজন নেই৷ শুরু করার জন্য, আমাদের উদাহরণগুলির একটি কপি এবং পেস্ট করুন এবং টিঙ্কারিং শুরু করুন।
প্রশ্ন: যে ব্রাউজারগুলি হয় জাভাস্ক্রিপ্ট সমর্থন করে না বা এটি নিষ্ক্রিয় করা আছে তাদের সম্পর্কে কী?
উত্তর: ব্যবহারকারীর ব্রাউজারে জাভাস্ক্রিপ্ট সক্রিয় না থাকলে Google Books-এর একটি বই আছে কিনা তা পরীক্ষা করার কোনো উপায় নেই। আমরা জাভাস্ক্রিপ্ট ছাড়া ব্রাউজারগুলির জন্য Google Books-এর স্ট্যাটিক লিঙ্ক স্ট্রাকচার ব্যবহার করার পরামর্শ দিই, কিন্তু মনে রাখবেন যে Google Books-এ আপনি যে বইটির সাথে লিঙ্ক করছেন সেটি আছে কিনা তা আগে থেকে জানতে পারবেন না।
প্রশ্নঃ আমি একবারে কয়টি বই খুঁজতে পারি?
উত্তর: আপনি যে বইগুলি অনুসন্ধান করতে পারেন তা শুধুমাত্র GET অনুরোধের দৈর্ঘ্য দ্বারা সীমাবদ্ধ৷ Microsoft Internet Explorer-এ, সর্বোচ্চ URL দৈর্ঘ্য (2,083 অক্ষর) GET অনুরোধের দৈর্ঘ্যকে সীমাবদ্ধ করে।
প্রশ্ন: Google Books মাত্র এক মুহূর্ত আগে একটি বইয়ের ফলাফল ফেরত দিয়েছিল। কেন এটা এখন ফলাফল ফিরে আসছে না?
উত্তর: যেহেতু ডেভেলপাররা প্রায়শই একটি নির্দিষ্ট পরিমাণে অনুরোধ জারি করে, আপনি ভুলবশত Google Books-এ পাওয়া নিরাপত্তা সতর্কতাগুলি জানাতে পারেন। এটি ঘটছে কিনা তা পরীক্ষা করতে, API দ্বারা কী ফেরত দেওয়া হচ্ছে তা দেখুন। যদি এটি একটি ক্যাপচা পূরণ করার অনুরোধ হয়, আপনি অনেকগুলি প্রশ্ন জারি করেছেন৷ আমরা Google Books- এ লগইন করে আবার চেষ্টা করার পরামর্শ দিই।
প্রশ্ন: গোপনীয়তা সম্পর্কে কি?
উত্তর: বইয়ের দর্শনযোগ্যতার জন্য প্রশ্নের উত্তর দেওয়ার জন্য, Google অ-ব্যক্তিগতভাবে সনাক্তযোগ্য সার্ভার লগ ডেটা পায়৷ আমরা ব্যবহারকারীর গোপনীয়তাকে গুরুত্ব সহকারে নিই এবং আমাদের গোপনীয়তা নীতিতে বর্ণিত ডেটার সাথে আচরণ করি। আপনি যদি ব্যবহারকারীদের এমন একটি পরিষেবা প্রদান করেন যাতে বইয়ের দর্শনযোগ্যতা অন্তর্ভুক্ত থাকে, তাহলে আপনি আপনার ব্যবহারকারীদের জানাতে চাইতে পারেন যে আপনার পরিষেবাটি গতিশীল লিঙ্কগুলির মাধ্যমে Google-এর কাছে প্রশ্নও জমা দেয়৷

কোড নমুনা

এই বিভাগটি নমুনা সরবরাহ করে যা ডায়নামিক লিঙ্কগুলি ব্যবহার করার বিভিন্ন উপায়কে চিত্রিত করে। আপনি যেকোন উদাহরণে ক্লিক করতে পারেন যাতে এটি কার্যকর হয়। অন্তর্নিহিত কোড দেখতে, আপনার ব্রাউজার থেকে "উৎস দেখুন"।

  • একটি বই পৃষ্ঠার জন্য পূর্বরূপ বোতাম
    আপনি যদি আপনার সাইটে পৃথক বই পৃষ্ঠাগুলিতে "প্রিভিউ" বোতাম যুক্ত করতে ডায়নামিক লিঙ্কগুলি ব্যবহার করতে চান তবে এটি আপনার জন্য উদাহরণ। এই বাস্তবায়ন Google Books-এ একটি সিঙ্ক্রোনাস কল ব্যবহার করে।
  • কোর্স পড়ার তালিকা
    এই উদাহরণটি একটি একাডেমিক কোর্সের জন্য একটি সাধারণ বইয়ের তালিকা দেখায়। আমরা একটি একক সিঙ্ক্রোনাস কল ব্যবহার করি Google Books-এ বইয়ের পৃষ্ঠাগুলির সাথে লিঙ্ক করতে, কভার ছবি যোগ করতে এবং পূর্বরূপ উপলব্ধতা নির্দেশ করতে।
  • বিকল্প বইয়ের তালিকা
    পূর্বের উদাহরণের মতো, এই নমুনাটি একটি অ্যাসিঙ্ক্রোনাস API কলব্যাক ব্যবহার করে বুক সার্চের লিঙ্ক যোগ করে।
  • ইন্টারেক্টিভ AJAX
    আপনি একটি অত্যন্ত ইন্টারেক্টিভ, AJAX অ্যাপ্লিকেশনে ডায়নামিক লিঙ্ক ব্যবহার করতে আগ্রহী হতে পারেন। এই উদাহরণটি দেখায় যে পৃষ্ঠাটি রিফ্রেশ না করেই কীভাবে বিভিন্ন কল ইস্যু করতে হয়৷