يوضّح هذا المستند كيفية البدء باستخدام Blogger JSON API.
المحتويات
المقدمة
هذا المستند مخصّص لمطوّري البرامج الذين يريدون كتابة تطبيقات يمكنها التفاعل مع واجهة برمجة تطبيقات Blogger JSON.
تعمل واجهة برمجة تطبيقات Blogger JSON على توسيع الإصدار 2.0 من Blogger Data API. إذا كنت تريد استرداد البيانات من Blogger بتنسيق JSON بدلاً من XML، استخدِم واجهة برمجة التطبيقات Blogger JSON. إذا أردت استرداد البيانات بتنسيق XML، استخدِم واجهة برمجة التطبيقات Blogger Data API.
هذا الإصدار من واجهة برمجة تطبيقات Blogger JSON هو حاليًا للقراءة فقط، ولكننا نخطط لإضافة إمكانيات القراءة/الكتابة، إلى جانب إمكانات أخرى. يمكنك طلب ميزات أخرى في منتدى مساعدة Blogger.
قبل البدء
الحصول على حساب Google
تأكَّد من إعداد حساب على Google. ننصحك باستخدام حساب Google منفصل لأغراض التطوير والاختبار لحماية نفسك من فقدان البيانات غير المقصود. إذا كان لديك حساب اختباري، هذا يعني أنك جاهز للبدء. يمكنك الانتقال إلى واجهة المستخدم على Blogger لإعداد بيانات الاختبار أو تعديلها أو عرضها.
التعرف على Blogger
إذا لم تكن على دراية بمفاهيم Blogger، اقرأ هذا المستند واختبر واجهة المستخدم قبل البدء في الترميز. يفترض هذا المستند أنك على دراية بخدمة Blogger، ومفاهيم برمجة الويب، وتنسيقات بيانات الويب.
مزيد من المعلومات حول تفويض الطلبات وتحديد تطبيقك
عندما يطلب التطبيق بيانات خاصة، يجب أن تفوّض الطلب مستخدمًا مفوّضًا لديه حق الوصول إلى هذه البيانات.
عندما يطلب التطبيق بيانات عامة، لا يجب تفويض الطلب، ولكن يجب أن يكون مرتبطًا بمعرّف، مثل مفتاح واجهة برمجة التطبيقات.
للحصول على معلومات حول طريقة تفويض الطلبات واستخدام مفاتيح واجهة برمجة التطبيقات، يمكنك الاطّلاع على تفويض الطلبات وتحديد التطبيق في مستند "استخدام واجهة برمجة التطبيقات".
خلفية واجهة برمجة تطبيقات Blogger JSON
مفاهيم Blogger
تستند خدمة Blogger إلى خمسة مفاهيم أساسية:
- المدونات: المفهوم الجذر لواجهة برمجة التطبيقات. تحتوي المدوّنة على مشاركات وصفحات. هذه هي حاوية المعلومات الوصفية للمدوّنة، مثل اسم المدونة والوصف.
- المشاركات: مشاركة المدونة هي العنصر القابل للنشر الذي أنشأه مؤلف المدوّنة. ويُقصد من هذه المعلومات أن تكون في الوقت المناسب، لتعكس ما يريده الناشرون النشر للعالم الآن. ومع مرور الوقت، تنشر المدوّنة المحتوى على الإنترنت وتصبح أقل حداثة.
- التعليقات: التعليق هو المكان الذي يتفاعل فيه المستخدمون غير مؤلف مشاركة المدونة مع ما كتبه المؤلف. كل ما في الأمر بدءًا من الطوب وحتى باقات الورود.
- الصفحات: هي مكان مخصّص للمحتوى الثابت، مثل معلومات عن السيرة الذاتية أو طُرق التواصل مع المستخدم. وهذه المعلومات هي في أغلب الأحيان معلومات لا تتغيّر في كثير من الأحيان.
- المستخدمون: المستخدم هو شخص يتفاعل مع Blogger، سواء كان مؤلفًا أو مشرفًا أو قارئًا فقط. في المدونات العامة، قد يكون القراء مجهولي الهوية، ولكن في المدونات الخاصة يجب أن يتم التعرف على القارئ من قِبل Blogger.
نموذج بيانات واجهة برمجة تطبيقات Blogger JSON
المورد هو كيان بيانات فردي بمعرّف فريد. تعمل واجهة برمجة تطبيقات Blogger JSON على خمسة أنواع من الموارد:
- مورد المدونات: يمثل مدونة.
- مورد المشاركات: يمثّل مشاركة، ويكون كل مورد للمشاركات فرعيًا من مورد المدونات.
- مورد التعليقات: هو تعليق يشكّل تعليقًا على مشاركة محدّدة، ويكون كلّ مورد من مراجع التعليقات عنصرًا فرعيًا من مورد المشاركات.
- مورد الصفحات: يمثّل صفحة ثابتة، ويمثّل كل مورد للصفحة فرعيًا من موارد المدوّنات.
- مورد المستخدمين: يمثل مستخدمًا مجهولاً. ويُستخدم هذا الترميز لتحديد مؤلف الصفحة أو المشاركة أو التعليق.
يستند نموذج بيانات واجهة برمجة التطبيقات في Blogger إلى مجموعات من الموارد، تُسمى "المجموعات":
- مجموعة المدونات
- تتضمّن مجموعة"الامتداد &spanspanquot;apicollection">المدونات"كل المدوّنات التي يملك المستخدم حق الوصول إليها. يمكنك إدراج المدونات حسب المستخدم أو استرداد مدونة واحدة حسب رقم التعريف.</spandmcaquot;apicollection">
- جمع المشاركات
- تتألف مجموعة المشاركات من جميع موارد المشاركات ضمن مورد مدونات معيّن.
- جمع التعليقات
- تتضمّن مجموعة التعليقات كل المراجع المرتبطة بالتعليقات ضمن مورد مشاركات معيّن.
- جمع الصفحات
- تتألف مجموعة الصفحات من جميع موارد الصفحات ضمن مورد مدونات معيّن.
- جمع المستخدمين
- تتضمن مجموعة المستخدمين جميع
موارد المستخدمين على Blogger، وبالتالي لا يمكن
إدراجها. يمكن للمستخدم استرداد مورد المستخدمين الخاص به (ولكن لا شيء آخر's) حسب رقم التعريف أو باستخدام المعرّف
self
.
عمليات واجهة برمجة تطبيقات Blogger JSON
يمكنك استدعاء طريقتين مختلفتين في المجموعات والموارد في Blogger JSON API، كما هو موضّح في الجدول التالي.
العملية | الوصف | تعيينات HTTP لـ REST |
---|---|---|
list | عرض جميع الموارد ضمن مجموعة. | GET في معرف الموارد المنتظم (URI) للمجموعة. |
الحصول | الحصول على مورد معين. | GET على معرف الموارد المنتظم (URI) للمورد. |
يعرض الجدول أدناه الطرق المتوافقة مع كل نوع من أنواع الموارد. تتطلب جميع عمليات القائمة والحصول على المدونات الخاصة المصادقة.
نوع المورد |
الطرق المتوافقة |
|
---|---|---|
القائمة | get | |
المدونات | نعم | نعم |
المشاركات | نعم | نعم |
التعليقات | نعم | نعم |
الصفحات | نعم | نعم |
المستخدمون | لا | نعم |
أنماط المكالمات
هناك عدة طرق لاستدعاء واجهة برمجة التطبيقات:
- استخدام REST مباشرةً أو من JavaScript (لا يلزم استخدام رمز من جهة الخادم)
- استخدام مكتبات العميل.
راحة
وتُعدّ REST أسلوبًا من بنية البرامج التي توفّر منهجًا مريحًا ومتسقًا لطلب البيانات وتعديلها.
يشير المصطلح REST إلى الاختصار &reنقل في ولاية النقل التمثيلي." وفي سياق واجهات برمجة تطبيقات Google، يشير إلى استخدام أفعال HTTP لاسترداد تمثيلات البيانات التي تم تخزينها بواسطة Google وتعديلها.
في نظام RESTful، يتم تخزين الموارد في مخزن بيانات، ويرسل العميل طلبًا بأن ينفذ الخادم إجراءً معيّنًا (مثل إنشاء مورد أو استرداده أو تحديثه أو حذفه)، ويتخذ الخادم الإجراء ويرسل استجابة، غالبًا في شكل تمثيل للمورد المحدد.
في واجهات برمجة تطبيقات RESTful في Google\u3d، يحدد العميل إجراءً باستخدام فعل HTTP مثل POST
أو GET
أو PUT
أو DELETE
. وتحدّد هذه السمة موردًا يستند إلى معرّف الموارد المنتظم (URI) الفريد من نوعه على مستوى العالم:
https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters
ونظرًا لأن جميع موارد واجهة برمجة التطبيقات تتضمن معرّفات الموارد المنتظمة (URI) الفريدة التي يمكن الوصول إليها عبر HTTP، فإن بروتوكول REST يمكّن التخزين المؤقت للبيانات ويتم تحسينه للعمل مع البنية الأساسية الموزَّعة على الويب.
قد تجد تعريفات الطرق في مستندات معايير HTTP 1.1 مفيدة، وهي تشمل مواصفات GET
وPOST
وPUT
وDELETE
.
REST في واجهة برمجة تطبيقات Blogger JSON
يتم ربط عمليات فريق Blogger المتوافقة مباشرةً بأفعال HTTP في REST، كما هو موضَّح في عمليات واجهة برمجة تطبيقات Blogger JSON.
في ما يلي التنسيق المحدّد لمعرّفات الموارد المنتظمة (URI) في واجهة برمجة تطبيقات Blogger JSON:
https://www.googleapis.com/blogger/v2/users/userId https://www.googleapis.com/blogger/v2/users/self https://www.googleapis.com/blogger/v2/users/userId/blogs https://www.googleapis.com/blogger/v2/users/self/blogs https://www.googleapis.com/blogger/v2/blogs/blogId/posts https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId https://www.googleapis.com/blogger/v2/blogs/blogId/pages https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId
يتم تلخيص الشرح الكامل المستخدَم في معرّفات الموارد المنتظمة (URI) المستخدمة والنتائج لكل عملية معتمدة في واجهة برمجة التطبيقات في المستند مرجع واجهة برمجة تطبيقات Blogger JSON.
إليك مثالان على كيفية عمل ذلك في واجهة برمجة تطبيقات Blogger JSON.
أدرِج المدونات التي يمتلك المستخدم الذي تمت المصادقة عليها حقوق الوصول إليها:
GET https://www.googleapis.com/blogger/v2/users/self/blogs?key=YOUR-API-KEY
اطّلِع على المشاركات على code.blogger.com (التي تتضمّن رقم تعريف المدونة 3213900):
GET https://www.googleapis.com/blogger/v2/blogs/3213900?key=YOUR-API-KEY
REST من JavaScript
يمكنك استدعاء واجهة برمجة تطبيقات Blogger JSON باستخدام REST من JavaScript، باستخدام معلَمة طلب البحث callback
ووظيفة معاودة الاتصال. ويسمح لك ذلك بكتابة تطبيقات منسّقة تعرض بيانات Blogger بدون كتابة أي رمز من جهة الخادم.
يسترجع المثال التالي مشاركة من مدونة code.blogger.com (بعد استبدال YOUR-API-KEY بمفتاح واجهة برمجة التطبيقات).
<html> <head> <title>Blogger JSON API Example</title> </head> <body> <div id="content"></div> <script> function handleResponse(response) { document.getElementById("content").innerHTML += "<h1>" + response.title + "</h1>" + response.content; } </script> <script src="https://www.googleapis.com/blogger/v2/blogs/3213900/posts/8398240586497962757?callback=handleResponse&key=YOUR-API-KEY"></script> </body> </html>
تنسيق البيانات
JSON
JSON (JavaScript Object Notation) هو تنسيق بيانات شائع مستقل عن اللغة، ويقدم تمثيلاً نصيًا بسيطًا لبنية البيانات العشوائية. لمزيد من المعلومات، يمكنك الاطّلاع على json.org.