Dynamic Links

تتيح لك ميزة الروابط الديناميكية في "كتب Google" إنشاء روابط أكثر تخصيصًا وموثوقية تؤدي إلى "كتب Google" من موقعك الإلكتروني. على سبيل المثال، تتيح لك هذه الأداة إنشاء الروابط "smart"quot;;التي تظهر فقط عندما يكون الكتاب متاحًا في فهرسنا، أو عرض الروابط التي تشير للمستخدمين إلى ما إذا كان من الممكن معاينة أحد الكتب على "كتب Google". تتيح لك ميزة الروابط الديناميكية أيضًا تضمين صورة مصغّرة في الرابط المؤدي إلى "كتب Google". يهدف هذا المستند إلى إتاحة إمكانية إضافة هذه الوظيفة إلى موقعك الإلكتروني بسرعة.

ملاحظة: كانت هذه الميزة تُعرف سابقًا باسم واجهة برمجة التطبيقات لإمكانية عرض الكتب.

معالج المعاينة هو أداة تم إنشاؤها فوق الروابط الديناميكية التي تُسهّل عملية الربط لمعاينات الكتاب من الموقع الإلكتروني عن طريق نسخ بضعة أسطر من الرمز. هذا المستند مخصّص لمطوّري البرامج الأكثر تقدّمًا الذين يريدون تخصيص طريقة ربطهم بخدمة "بحث الكتب".

المحتويات

  1. الجمهور
  2. مصطلحات بحث الكتب
  3. مقدمة
  4. إرشادات وضع العلامة التجارية
  5. واجهة برمجة التطبيقات من جهة العميل
    1. تنسيق عنوان URL للطلب
    2. تنسيق نتائج JSON
  6. الأوضاع المتزامنة وغير المتزامنة
  7. الأسئلة الشائعة
  8. نماذج الرموز

الجمهور

إنّ مستندات الروابط الديناميكية مخصّصة للمبرمجين الذين يريدون كتابة تطبيقات ويب تتضمّن روابط تؤدي إلى كتب في "كتب Google". يفترض هذا المستند أنك على دراية ببروتوكول HTTP ولغة JavaScript الأساسية.

مصطلحات البحث في الكتب

تراعي كتب Google قيود حقوق الطبع والنشر المحلية للمستخدم، ونتيجةً لذلك، لا تتوفر معاينات أو مشاهدات كاملة لبعض الكتب في جميع المواقع. يتم تجميع إمكانية العرض في الفئات التالية:

عرض كامل
يمكن عرض الكتاب بأكمله. قد تكون هذه الكتب مندرجة ضمن النطاق العام.
معاينة محدودة
يمكن عرض جزء من الكتاب. هذا الكتاب محمي بموجب حقوق الطبع والنشر وقد تلقّت "كتب Google" إذنًا لإتاحة هذه الصفحات للمستخدمين. تختلف هذه الكتب عن كتب عرض المقتطفات في أنه يمكن للمستخدمين عرض الصفحات بأكملها.
عرض مقتطفات وبدون معاينة
لا يظهر للمستخدمين إلا صفحة "&معلومات عن الكتاب". في الغالب، لا تتوفّر سوى مقتطفات قصيرة من الكتاب. لم يتم مسح هذا الكتاب ضوئيًا أو يخضع لحقوق الطبع والنشر ولم تحصل خدمة "كتب Google" على إذن للكشف عن أكثر من بضع "&quot؛المقتطف&quot، في ما يتعلق بعبارة بحث المستخدم.

مقدمة

تصف مستندات الروابط الثابتة طريقة بسيطة جدًا لإنشاء عناوين URL إلى صفحة معيّنة من الكتاب على "كتب Google". للأسف، قد لا يكون كتاب معيّن في فهرس "كتب Google" أحيانًا، أو تكون المعاينة غير متاحة لمستخدم في موقع جغرافي معيّن. نظرًا لأن الروابط الثابتة "&b;dlin;" يتعذّر أحيانًا الحصول على التأثير المقصود.

توفّر الروابط الديناميكية طريقة آلية من جهة العميل للاستعلام عن إمكانية عرض كتاب باستخدام JavaScript. يتيح لك ذلك تضمين روابط أكثر موثوقية وتوقّعًا للبحث في الكتب، ما يؤدي إلى تجربة أكثر اتساقًا للمستخدمين. نظرًا لاختلاف إمكانية العرض وفقًا لموقع المستخدم النهائي، لم يتم تصميم واجهة الرابط الديناميكي لطلبات البحث من جانب الخادم أو بلا اتصال بالإنترنت.

وللتعرّف على وظيفة الروابط الديناميكية، يمكنك الانتقال إلى نماذج الرموز في نهاية هذا المستند.

إرشادات وضع العلامة التجارية

عند عرض"الروابط الديناميكية"، يجب الالتزام بإرشادات العلامة التجارية التي تحكم مجموعة واجهة برمجة التطبيقات في"كتب Google". وعلى وجه الخصوص،

  • يجب الاحتفاظ بالإحالة والروابط في "كتب Google".
  • يجب استخدام زر معاينة Google الموافَق عليه فقط عند الربط بالمعاينات على "كتب Google".
  • يجب أن تلتزم أي روابط نصية أو أزرار أو مستندات أو نصوص وصفية باصطلاحات التسمية التي تمت الموافقة عليها. على سبيل المثال، يجب عدم استخدام الأفعال "Download;download" أو "read" عند الربط بمعاينات كتب Google، حيث أنّه يمكن تنزيل الأعمال المندرجة ضمن النطاق العام فقط.

مثال على علامة تجارية

Freakonomicis: A Rogue Economist يستكشف الجانب المخفي من كل شيء
بقلم: "ستيفن ليفيت" و"ستيفن دوبنر"

يقدّم قسم النماذج في نهاية هذا المستند أمثلة إضافية تلتزم بإرشادات العلامة التجارية الحالية.

واجهة برمجة التطبيقات من جهة العميل

في صميم الرابط الديناميكي من جانب العميل، يتوفّر تنسيق عنوان URL يسمح لمطوّري البرامج بإنشاء عناوين URL تطلب معلومات على كتاب واحد أو أكثر وإرسال الطلبات إلى "كتب Google" باستخدام العلامة <script>.

مثال على البنية:
<script src="https://books.google.com/books?bibkeys=ISBN:0451526538&jscmd=viewapi&callback=mycallback"></script>

تنسيق الطلب

يشبه تنسيق عنوان URL بنية عنوان URL المُستخدَمة للربط بالكتب، ولكن يحتوي حقل معرّف الكتاب على معرّفات متعددة للكتب مفصولة بفواصل، كما تتوفّر معلّمات إضافية 'jscmd&#39؛ و 'callback'. اختياريًا، يمكن تقديم وسيطات إضافية للتحكم في فلاتر إمكانية العرض.

تتوافق الروابط الديناميكية مع العديد من الطرق المختلفة لتحديد الكتب، مثل أرقام ISBN وأرقام OCLC ومفاتيح LCCN. تسمح واجهة برمجة التطبيقات بطلبات البحث المجمّعة التي يصل حجمها إلى الحد الأقصى المسموح به لطلب GET.

رقم ISBN
&bibkeys=ISBN:0451526538 (تتيح واجهة برمجة التطبيقات استخدام رقمَي ISBN 10 و13).
رقم OCLC
&bibkeys=OCLC:36792831
رقم LCCN
&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
عنوان URL يؤدي إلى صفحة في "كتب Google" تتضمّن معلومات عن الكتاب (صفحة "لمحة عن هذا الكتاب").
معاينة_عنوان URL
عنوان URL لمعاينة الكتاب، ينقل المستخدم مباشرةً إلى غلاف الكتاب. وفي حال توفّر عرض "المقتطف" أو "لا تتوفر كتب معاينة" إلا للطلب، لن يتم عرض عنوان URL للمعاينة.
عنوان_الصورة المصغّرة
عنوان URL يؤدي إلى صورة مصغّرة لغلاف الكتاب.
معاينة
قيمة تشير إلى حالة إمكانية العرض للكتاب: full (للكتب ذات العرض الكامل) أو partial (لكتب المعاينة المحدودة) أو noview (لكتب المقتطفات أو المعاينة).
قابل للتضمين
هذا المنطق هو true إذا كان من الممكن تضمين الكتاب في صفحات تابعة لجهات خارجية باستخدام العارض المضمَّن في بحث الكتب.

تكون الاستجابة عبارة عن كائن JSON يحتوي على حقلَين، "books"، حيث يحتوي على قيمة لخريطة كائنات "و""options&quot؛ تحتوي على قائمة بالخيارات المفعّلة لهذا الطلب. إذا لم يتم تحديد أي خيارات، قد يتم حذف الحقل "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"}
});

بعد ذلك، يمكن لمطوّري البرامج تغيير محتوى صفحات الويب ومظهرها استنادًا إلى نتائج JSON التي تم استردادها من خادم GBS. وفي الوقت الحالي، لا توفِّر GBS مكتبات لتعديل DOM لتنفيذ ذلك.

المعلّمات والحقول الإضافية

jscmd
الطلب إلى "كتب Google".
معاودة الاتصال
اسم دالة JavaScript التي نرجع إليها القيمة.

الوضع المتزامن وغير المتزامن

الوضع غير المتزامن

وفي الوضع غير المتزامن، يضع مطوّر البرامج العلامة <script> في <head> من المستند وينشئ عنوان URL باستخدام جميع المعرّفات اللازمة لعرض الصفحة. ويتم استلام البيانات من المكالمة في متغيّر. يؤدي ذلك إلى إتاحة معلومات الكتاب في باقي المستند ويمكن الوصول إليه على الفور في ملفات HTML وJavaScript.

الوضع المتزامن

وفي الوضع المتزامن، يستخدم مطوّر البرامج عنوان URL في منتصف HTML <body>، ويتم التعامل مع الاستجابة باستخدام استدعاء JavaScript.

الأسئلة الشائعة

س: هل أحتاج إلى مفتاح واجهة برمجة تطبيقات أو إذن آخر لاستخدام الروابط الديناميكية؟
ج: ما من حاجة إلى مفتاح واجهة برمجة تطبيقات أو تفويض آخر لاستخدام الروابط الديناميكية. للبدء، ما عليك سوى نسخ أحد هذه الأمثلة ولصقه، ثم البدء في العبث.
س: ماذا عن المتصفحات التي لا تتيح JavaScript أو تم إيقافها؟
ج: لا تتوفّر طريقة لاختبار ما إذا كان تطبيق"كتب Google"يحتوي على كتاب أم لا عند تفعيل JavaScript في متصفّح المستخدم. ننصح باستخدام بنية الروابط الثابتة في"كتب Google"للمتصفّحات التي لا تستخدم JavaScript، ولكن تذكّر أنّه لا يمكنك معرفة ما إذا كان"كتب Google"يحتوي على الكتاب الذي تضع رابطًا إليه.
س: كم عدد الكتب التي يمكنني البحث عنها مرة واحدة؟
ج: يكون عدد الكتب التي يمكنك البحث عنها محدودًا فقط بطلبات GET. في Microsoft Internet Explorer، يحدد الحد الأقصى لطول عنوان URL (2083 حرفًا) طول طلبات GET.
س: كانت خدمة "كتب Google" تعرض نتائج أحد الكتب قبل قليل. لماذا لم يعرض النتائج الآن؟
ج: بما أنّ مطوّري البرامج غالبًا ما يُصدرون عددًا غير عادي من الطلبات، قد ترسل عن طريق الخطأ نصائح احتياطات الأمان الواردة في "كتب Google". وللتحقّق من حدوث ذلك، يمكنك الاطّلاع على ما تعرضه واجهة برمجة التطبيقات. إذا كان ذلك مطلوبًا لملء اختبار CAPTCHA، فقد أرسلت عددًا كبيرًا جدًا من طلبات البحث. ننصح بتسجيل الدخول إلى كتب Google وإعادة المحاولة.
س: ماذا عن الخصوصية؟
ج: أثناء الردّ على طلبات البحث عن إمكانية عرض الكتب، تتلقّى Google بيانات السجلّ الخاصة بالخادم والتي لا تحدّد الهوية الشخصية. نحن نتعامل مع خصوصية المستخدم بجديّة ونتعامل مع هذه البيانات كما هو موضّح في سياسة الخصوصية. إذا كنت توفر للمستخدمين خدمة تتضمن إمكانية عرض الكتب، يمكنك إعلام المستخدمين بأن خدمتك ترسل أيضًا طلبات بحث إلى Google من خلال الروابط الديناميكية.

عيّنات التعليمات البرمجية

يقدّم هذا القسم عيّنات توضّح طرقًا مختلفة لاستخدام الروابط الديناميكية. يمكنك النقر على أي مثال لتجربته أثناء استخدامه. لمشاهدة الرمز الأساسي، "عرض المصدر&quot؛ من متصفحك.

  • زر المعاينة لصفحة في الكتاب
    إذا كنت تنوي استخدام الروابط الديناميكية لإضافة "quot;معاينة&quot؛ وأزرار إلى صفحات كتب فردية على موقعك، إليك هذا المثال. ويستخدم هذا التنفيذ طلبًا متزامنًا إلى "كتب Google".
  • قائمة قراءة الدورات التدريبية
    يعرض هذا المثال قائمة كتب نموذجية لدورة تدريبية أكاديمية. نستخدِم طلبًا متزامنًا واحدًا للربط بصفحات الكتاب على "كتب Google" وإضافة صور الغلاف والإشارة إلى مدى توفّر المعاينة.
  • قائمة الكتب البديلة
    على غرار المثال السابق، يضيف هذا النموذج روابط إلى بحث الكتب باستخدام استدعاء واجهة برمجة تطبيقات غير متزامن.
  • محتوى AJAX التفاعلي
    قد تكون مهتمًا باستخدام الروابط الديناميكية في تطبيق AJAX تفاعلي للغاية. يوضح هذا المثال كيفية إصدار عدد من المكالمات المختلفة بدون إعادة تحميل الصفحة.