ملاحظة مهمة: هذه نسخة قديمة من هذه الصفحة. للحصول على أحدث إصدار، استخدِم الروابط في شريط القوائم العلوي على يمين الصفحة.
تتيح Blogger Data API لتطبيقات العميل عرض محتوى Blogger وتعديله في شكل خلاصات Google Data API.
يمكن لتطبيق العميل استخدام Blogger Data API لإنشاء مشاركات مدونٍ جديدة وتعديل مشاركات المدونين الحالية أو حذفها والبحث عن مشاركات المدونين التي تتطابق مع معايير معيّنة.
بالإضافة إلى تقديم بعض المعلومات الأساسية حول إمكانات Blogger Data API، يقدّم هذا المستند أمثلة على التفاعلات الأساسية مع Data API باستخدام تنسيق XML وHTTP الأوّليَين. بعد قراءة هذا المستند، قد تحتاج إلى معرفة المزيد عن التفاعل مع واجهة برمجة التطبيقات باستخدام مكتبات العميل من خلال قراءة الأقسام الخاصة بلغة البرمجة في دليل المطوّر هذا.
المحتويات
الجمهور
هذا المستند مخصّص للمبرمجين الذين يريدون كتابة تطبيقات عملاء يمكنها التفاعل مع Blogger باستخدام XML وHTTP.
يفترض هذا المستند أنّك تفهم الأفكار العامة وراء بروتوكول Google Data APIs.
إذا كنت تستخدم نظام التشغيل UNIX وتريد تجربة الأمثلة الواردة في هذا
المستند بدون كتابة أي رمز، قد تجد أنّ أدوات سطر الأوامر في UNIX
curl
أو wget
مفيدة. لمزيد من المعلومات، اطّلِع على ملفّات تعليمات برمجية
هذه الأدوات.
للحصول على معلومات مرجعية حول Blogger Data API، يُرجى الاطّلاع على دليل مرجعي حول البروتوكول.
الخطوات الأولى
إنشاء حساب على Blogger
ننصحك بإنشاء حساب على Blogger لأغراض الاختبار. يستخدم Blogger حسابات Google، لذا إذا كان لديك حساب على Google، لن تحتاج إلى إجراء أي إعدادات.
المصادقة على خدمة Blogger
يمكنك الوصول إلى الخلاصات العامة والخاصة باستخدام Blogger Data API. لا تتطلّب الخلاصات العامة أي مصادقة، ولكنها تكون للقراءة فقط. إذا أردت تعديل المدونات، يجب أن يُجري العميل مصادقة قبل طلب ملفّات الاطّلاع الخاصة. ويمكنه المصادقة باستخدام إحدى الطريقتَين التاليتَين: مصادقة الخادم الوكيل AuthSub أو مصادقة اسم المستخدم/كلمة المرور ClientLogin.
لمزيد من المعلومات عن المصادقة باستخدام Google Data APIs بشكل عام، يُرجى الاطّلاع على مستندات مصادقة.
تستند معظم العيّنات في الأقسام اللاحقة من هذا المستند إلى أنّك تقدّم المصادقة المناسبة.
مصادقة الخادم الوكيل لبروتوكول AuthSub
تستخدِم تطبيقات الويب المصادقة الوكيلة عبر AuthSub التي تحتاج إلى مصادقة المستخدمين على حسابات Google. لا يمكن لمشغّل الموقع الإلكتروني ورمز العميل الوصول إلى اسم مستخدم Blogger وكلمة مروره، وبدلاً من ذلك، يحصل العميل على رموز AuthSub خاصة تسمح له بالتصرّف نيابةً عن مستخدم معيّن. للحصول على معلومات أكثر تفصيلاً، يُرجى الاطّلاع على مستندات AuthSub.
عندما يزور مستخدم تطبيقك لأول مرة، لا يكون قد تم مصادقته بعد. في هذه الحالة، عليك عرض بعض المعلومات ورابط يؤدي إلى توجيه المستخدم إلى صفحة على Google لمصادقة طلبك للوصول إلى مدوّناته.
يتم تضمين مَعلمات طلب البحث التالية في عنوان URL الخاص بطلب AuthSubRequest:
- التالي
- عنوان URL للصفحة التي من المفترض أن تعيد Google توجيه المستخدم إليها بعد المصادقة
- نطاق
- يشير إلى أنّ التطبيق يطلب رمز مرور للوصول إلى خلاصات Blogger. سلسلة النطاق التي يجب استخدامها هي
http://www.blogger.com/feeds/
(بالطبع، تكون مُشفَّرة باستخدام عنوان URL). - آمن
- يشير إلى ما إذا كان العميل يطلب رمزًا مميّزًا آمنًا.
- جلسة
- يشير إلى ما إذا كان يمكن استبدال الرمز المميّز الذي تم إرجاعه برمز مميّز متعدّد الاستخدام (للجلسة).
قد يبدو عنوان URL لطلب AuthSub على النحو التالي:
https://www.google.com/accounts/AuthSubRequest?scope=http%3A%2F%2Fwww.blogger.com%2Ffeeds%2F&session=1&secure=0&next=http%3A%2F%2Fwww.example.com%2Fwelcome.html
يتبع المستخدم الرابط المؤدي إلى موقع Google الإلكتروني ويُثبِّت هويته في حسابه على Google.
بعد مصادقة المستخدم، يعيد نظام AuthSub توجيهه إلى عنوان URL
الذي حدّدته في مَعلمة طلب البحث next
لعنوان URL
AuthSubRequest. يُلحق نظام AuthSub رمزًا مميّزًا للمصادقة بهذا العنوان، وذلك بصفته
قيمة مَعلمة طلب البحث token
. على سبيل المثال:
http://www.example.com/welcome.html?token=yourAuthToken
تمثّل قيمة الرمز المميّز هذا رمزًا مميزًا لبروتوكول AuthSub صالحًا لمرة واحدة. في هذا المثال،
بما أنّه تم تحديد session=1
، يمكن استبدال هذا الرمز المميّز برمز مميّز لجلسة
AuthSub من خلال استدعاء خدمة AuthSubSessionToken
باستخدام الرمز المميّز لمرة واحدة في عنوان Authorization، على النحو التالي:
GET /accounts/AuthSubSessionToken HTTP/1.1 Content-Type: application/x-www-form-urlencoded Authorization: AuthSub token="yourAuthToken" User-Agent: Java/1.5.0_06 Host: www.google.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
يتضمّن ردّ خدمة AuthSubSessionToken عنوان Token
يحتوي على الرمز المميّز للجلسة وعنوان Expiration
يشير إلى المدة التي سيظلّ فيها الرمز المميّز صالحًا.
يمكن لتطبيقك بعد ذلك استخدام قيمة رمز الجلسة في عنوان
Authorization
للتفاعلات اللاحقة مع Blogger.
في ما يلي مثال على طلب HTTP يحتوي على رمز مميّز غير آمن، والذي قد ترسله إلى Blogger:
GET /feeds/blogID/blogs/posts/defaults HTTP/1.1 Content-Type: application/x-www-form-urlencoded Authorization: AuthSub token="yourSessionToken" User-Agent: Java/1.5.0_06 Host: www.blogger.com Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection: keep-alive
مصادقة اسم المستخدم/كلمة المرور في ClientLogin
استخدِم مصادقة ClientLogin إذا كان برنامجك هو برنامج مستقل ومُثبَّت
لمستخدم واحد (مثل تطبيق مخصّص لأجهزة الكمبيوتر المكتبي). لطلب رمز مميّز
للمصادقة باستخدام آلية ClientLogin، أرسِل POST
طلبًا إلى عنوان URL التالي:
https://www.google.com/accounts/ClientLogin
يجب أن يحتوي نص POST
على مجموعة من مَعلمات طلبات البحث التي تبدو
مثل المَعلمات التي تم تمريرها من خلال نموذج HTML، باستخدام نوع المحتوى
application/x-www-form-urlencoded
. هذه المَعلمات
هي:
- البريد الإلكتروني
- عنوان البريد الإلكتروني للمستخدم
- Passwd
- كلمة مرور المستخدم
- الخدمة
- اسم خدمة Blogger هو
blogger
. (للاطّلاع على أسماء الخدمات الأخرى، اطّلِع على قائمة أسماء الخدمات). - accountType
- يجب ضبط هذه القيمة دائمًا على
GOOGLE
عند استخدام Blogger API. سيؤدي عدم ضبط هذه المَعلمة إلى منع وصول المستخدمين الذين لديهم أيضًا حساب على G Suite. - المصدر
- يُحدِّد تطبيق العميل. يجب أن يكون على الشكل companyName-applicationName-versionID. تستخدِم الأمثلة الاسم
exampleCo-exampleApp-1
.
لمزيد من المعلومات عن المَعلمات، يُرجى الاطّلاع على مستند المصادقة للتطبيقات المثبَّتة.
إذا تعذّر طلب المصادقة، يعرض الخادم رمز حالة HTTP
403 Forbidden
.
إذا نجحت العملية، يعرض الخادم رمز حالة HTTP200 OK
بالإضافة إلى ثلاثة رموز أبجدية رقمية طويلة في نص الاستجابة: SID وLSID
وAuth. قيمة Auth هي رمز التفويض الذي سترسله إلى Blogger
مع كل طلب لاحق، لذا احتفظ بنسخة من هذه القيمة. يمكنك تجاهل قيم SID وLSID.
بما أنّ جميع الطلبات الموجّهة إلى الخلاصات الخاصة تتطلّب المصادقة، عليك ضبط عنوان Authorization في جميع التفاعلات اللاحقة مع Blogger باستخدام التنسيق التالي:
Authorization: GoogleLogin auth=yourAuthToken
حيث يمثّل yourAuthToken
سلسلة المصادقة التي يعرضها طلب
ClientLogin.
لمزيد من المعلومات عن مصادقة ClientLogin، بما في ذلك نماذج طلبات واستجابات، يُرجى الاطّلاع على مستندات المصادقة للتطبيقات المثبّتة.
ملاحظة: استخدِم الرمز المميّز نفسه لجميع الطلبات في جلسة معيّنة، ولا تحصل على رمز مميّز جديد لكل طلب في Blogger.
ملاحظة: كما هو موضّح في مستندات ClientLogin
، قد يتعذّر إكمال طلب المصادقة ويُطلب منك حلّ اختبار CAPTCHA. إذا كنت تريد أن تطلب Google من المستخدمين إكمال اختبار CAPTCHA وتعالجه، عليك
إرسال المستخدم إلى
https://www.google.com/accounts/DisplayUnlockCaptcha?service=blogger
(بدلاً من عنوان URL المخصّص لمعالجة اختبار CAPTCHA الوارد في مستندات ClientLogin
).
استرداد قائمة بالمدونات
توفّر Blogger Data API خلاصة تسرد المدونات الخاصة بمستخدم معيّن، وتُعرف هذه الخلاصة باسم "الخلاصة الوصفية".
أرسِل طلب HTTP GET
إلى عنوان URL التالي لاسترداد قائمة
المدوّنات:
http://www.blogger.com/feeds/userID/blogs
ملاحظة: يمكنك أيضًا استبدال default
بمعرّف المستخدم، ما يطلب من Blogger عرض قائمة المدونات للمستخدم الذي تتضمّن بيانات اعتماده الطلب.
قد يبدو إدخال في الخلاصة الوصفية على النحو التالي:
<entry> <id>tag:blogger.com,1999:blog-blogID.post-postID</id> <published>2006-08-02T18:44:43.089-07:00</published> <updated>2006-11-08T18:10:23.020-08:00</updated> <title type='text'>Lizzy's Diary</title> <summary type='html'>Being the journal of Elizabeth Bennet</summary> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/'> </link> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <link rel='http://schemas.google.com/g/2005#post' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID/posts/default'> </link> <link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/userID/blogs/blogID'> </link> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/userID/blogs/blogID'> </link> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> </entry>
للحصول على معلومات عن معنى كل عنصر من هذه العناصر، اطّلِع على مستند مرجع بروتوكول Google Data APIs أو مواصفات Atom 1.0.
إذا تعذّر إكمال طلبك لسبب ما، قد يعرض Blogger رمز حالة مختلفًا. تتوفّر أيضًا مزيد من المعلومات حول رموز حالة HTTP في مستند مرجع بروتوكول واجهات برمجة التطبيقات لبيانات Google.
إنشاء المشاركات
تتيح لك Blogger Data API إنشاء إدخالات مدوّنة جديدة ونشرها، بالإضافة إلى إنشاء مسودات للإدخالات.
نشر مشاركة في مدوّنة
بعد المصادقة، يمكنك نشر إدخالات جديدة في المدوّنة.
أولاً، أنشئ تمثيلاً بتنسيق XML للمقالة المطلوب نشرها. يجب أن يكون ملف XML هذا
بتنسيق عنصر Atom <entry>
، والذي قد يبدو
على النحو التالي:
<entry xmlns='http://www.w3.org/2005/Atom'> <title type='text'>Marriage!</title> <content type='xhtml'> <div xmlns="http://www.w3.org/1999/xhtml"> <p>Mr. Darcy has <em>proposed marriage</em> to me!</p> <p>He is the last man on earth I would ever desire to marry.</p> <p>Whatever shall I do?</p> </div> </content> <category scheme="http://www.blogger.com/atom/ns#" term="marriage" /> <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" /> </entry>
ملاحظة: لا يمكن حاليًا تحديد مؤلف مخصّص للمشاركة. ستظهر جميع المشاركات الجديدة كما لو أنّه تم إنشاؤها من قِبل المستخدم الذي تم مصادقة هويته حاليًا.
لنشر هذا الإدخال، أرسِله إلى عنوان URL الخاص بمشاركة المدوّنة على النحو التالي. أولاً،
ضَع عنصر Atom <entry>
في نص طلب
POST
جديد باستخدام نوع المحتوى
application/atom+xml
. بعد ذلك، ابحث عن عنوان URL لمشاركة المدونة في خلاصة البيانات الوصفية من خلال تحديد العنصر
<link>
الذي تنتهي فيه سمة rel
باستخدام
#post
. يتم تقديم عنوان URL للمشاركة في المدونة على أنّه سمة href
لهذا العنصر، والتي تكون بالتنسيق التالي:
http://www.blogger.com/feeds/blogID/posts/default
ملاحظة: عنوان URL هذا هو نفسه عنوان URL الوارد في العلامة
<link rel="service.post">
التي تظهر في القسم
<head>
من النسخة القابلة للقراءة من المدونة.
ينشئ Blogger مشاركة مدوّنة باستخدام الإدخال الذي أرسلته، ثم يعرض رمز حالة HTTP
201 CREATED
، بالإضافة إلى نسخة من المشاركة الجديدة في شكل <entry>
. إنّ الإدخال الذي يتم إرجاعه هو
نفسه الذي أرسلته، ولكنه يحتوي أيضًا على عناصر مختلفة أضافها Blogger، مثل عنصر
<id>
.
إذا تعذّر إكمال طلبك لسبب ما، قد يعرض Blogger رمز حالة مختلفًا. للحصول على معلومات عن رموز الحالة، يُرجى الاطّلاع على مستند مرجعي لبروتوكول Google Data API.
إنشاء مسودة لمشاركة مدونة
يتم إنشاء مسودّات المشاركات بالطريقة نفسها التي يتم بها إنشاء المشاركات العلنية، ولكن مع إضافة عنصر
<app:control>
إلى الإدخال للإشارة إلى أنّه ينبغي عدم نشر
المشاركة (حتى الآن).
يجب أن يحتوي عنصر <app:control>
هذا على عنصر
<app:draft>
واحد كعنصر ثانوي:
<app:control xmlns:app='http://purl.org/atom/app#'> <app:draft>yes</app:draft> </app:control>
يجب أن تكون البيانات الواردة في عنصر <app:draft>
هي
السلسلة yes لكي يتم التعرّف على المشاركة على أنّها مسودة.
يمكنك تحويل مسودة حالية لمشاركة مدوّنة إلى مشاركة منشورة من خلال استرداد
مسودة المشاركة، وضبط بيانات العنصر <app:draft>
على السلسلةno، ثم تعديل المشاركة. يمكنك الاطّلاع على كيفية استرداد المشاركات وتعديلها
في القسمَين التاليَين.
ملاحظة: لمزيد من المعلومات حول بروتوكول <app:control>
نشر Atom، بما في ذلك مساحتَي الاسم <app:control>
و<app:draft>
، يُرجى الاطّلاع على RFC 5023.
استرداد المشاركات
توضّح الأقسام التالية كيفية استرداد قائمة بمشاركات المدونة، باستخدام ومعلمات طلب البحث بدونها.
يمكنك طلب البحث في خلاصة عامة على Blogger بدون مصادقة. لذلك، لا تحتاج إلى ضبط مَعلمة Authorization عند استرداد مشاركات مدوّنة من مدونة علنية.
استرداد جميع مشاركات المدونة
لاسترداد مشاركات المستخدم، أرسِل طلب HTTP GET
إلى عنوان URL لخلاصة
المدوّنة. بعد ذلك، يعرض Blogger خلاصة تحتوي على إدخالات المدونة المناسبة. على سبيل المثال، للحصول على قائمة بمشاركات المدونة الخاصة بـ liz@gmail.com، أرسِل
طلب HTTP التالي إلى Blogger (بالقيمة المناسبة بدلاً من
blogID
، بالطبع):
GET http://www.blogger.com/feeds/blogID/posts/default
بعد ذلك، يعرض Blogger رمز حالة HTTP 200 OK
وخلاصة قياسية
لتنسيق Atom 1.0 تحتوي على مشاركات المدونة.
في ما يلي مثال على خلاصة مدوّنة تتضمّن مشاركة واحدة فقط. يُرجى ملاحظة أنّنا عدّلنا هذا المثال قليلاً لتسهيل قراءته على المستخدمين. على وجه التحديد، تحتوي خلاصة Blogger الحقيقية على أرقام تعريف وعناوين URL فعلية.
<feed xmlns='http://www.w3.org/2005/Atom'> <id>tag:blogger.com,1999:blog-blogID</id> <updated>2006-11-08T18:10:23.020-08:00</updated> <title type='text'>Lizzy's Diary</title> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/index.html'> </link> <link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <link rel='self' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default'> </link> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> <generator version='7.00' uri='http://www2.blogger.com'>Blogger</generator> <entry> <id>tag:blogger.com,1999:blog-blogID.post-postID</id> <published>2006-11-08T18:10:00.000-08:00</published> <updated>2006-11-08T18:10:14.954-08:00</updated> <title type='text'>Quite disagreeable</title> <content type='html'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></content> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'> </link> <link rel='self' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default/postID'> </link> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID/posts/default/postID'> </link> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> </entry> </feed>
استرداد المشاركات باستخدام مَعلمات طلب البحث
تتيح لك Blogger Data API طلب مجموعة من الإدخالات التي تتطابق مع معايير محدّدة، مثل طلب منشورات مدونة تم نشرها أو تعديلها في نطاق تاريخ معيّن.
على سبيل المثال، لإرسال طلب بحث حسب النطاق الزمني، أضِف المَعلمتَين published-min
وpublished-max
إلى عنوان URL للطلب. للحصول على كل ملفّات مشاركة المدونة التي تم إنشاؤها بين 16 آذار (مارس) 2008 و24 آذار (مارس) 2008، أرسِل طلب HTTP
إلى عنوان URL الخاص بخلاصة المدونة:
GET http://www.blogger.com/feeds/blogID/posts/default?published-min=2008-03-16T00:00:00&published-max=2008-03-24T23:59:59
عند إرسال طلب GET
هذا، يعرض Blogger رمز حالة HTTP
200 OK
وخلاصة تتضمّن أي مشاركات مدونة تم
إنشاؤها في النطاق الزمني الذي حدّدته.
يمكن أيضًا استخدام المَعلمتَين updated-min
وupdated-max
لتعديل جميع إدخالات المدونة ضمن نطاق معيّن. يُرجى العلم
أنّه يتم تجاهل هذه المَعلمات ما لم يتم ضبط المَعلمة orderby
أيضًا على updated
.
تتيح Blogger Data API مَعلمات طلب البحث التالية:
- alt
- نوع الخلاصة التي سيتم عرضها، مثل
atom
(الإعداد التلقائي) أوrss
- /category
- تُستخدَم لتحديد الفئات (المعروفة أيضًا باسم التصنيفات) لفلترة نتائج الخلاصة. على سبيل المثال، يعرض
http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie
الإدخالات التي تحتوي على الملصقينFritz
وLaurie
. - max-results
- الحد الأقصى لعدد الإدخالات التي سيتم عرضها
- orderby
- الترتيب الذي يتم به عرض الإدخالات، مثل
lastmodified
(الترتيب التلقائي) أوstarttime
أوupdated
- published-min وpublished-max
- الحدّ الأدنى والأعلى لتاريخ نشر الإدخال
- start-index
- فهرس يستند إلى 1 للنتيجة الأولى التي سيتم استرجاعها (لصفحة البيانات).
- updated-min وupdated-max
- الحدّ الأقصى لتواريخ تعديل الإدخالات يتم تجاهل مَعلمات طلب البحث هذه ما لم يتم ضبط المَعلمة
orderby
علىupdated
.
لمزيد من المعلومات عن مَعلمات طلب البحث، اطّلِع على دليل مرجعي لواجهة برمجة تطبيقات Blogger Data API ودليل مرجعي لواجهات برمجة تطبيقات Google Data API.
تعديل المشاركات
لتعديل مشاركة مدوّنة حالية، عليك أولاً استرداد الإدخال الذي تريد تعديله، ثم تعديله، ثم إرسال طلب PUT
يتضمّن الإدخال المعدَّل في نص الرسالة إلى عنوان URL لتعديل المشاركة. تأكَّد من أنّ قيمة
<id>
في الإدخال الذي PUT
تتطابق تمامًا مع
<id>
للإدخال الحالي.
تم تمييز عنوان URL المراد تعديله في الإدخال التالي:
<entry> <id>tag:blogger.com,1999:blog-blogID.post-postID</id> <published>2006-11-08T18:10:00.000-08:00</published> <updated>2006-11-08T18:10:14.954-08:00</updated> <title type='text'>Quite disagreeable</title> <content type='html'><p>I met Mr. Bingley's friend Mr. Darcy this evening. I found him quite disagreeable.</p></content> <link rel='alternate' type='text/html' href='http://blogName.blogspot.com/2006/11/quite-disagreeable.html'> </link> <link rel='self' type='application/atom+xml' href='http://blogName.blogspot.com/feeds/posts/default/postID'> </link> <link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/blogID/posts/default/postID'> </link> <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Bingley" /> <category scheme="http://www.blogger.com/atom/ns#" term="Mr. Darcy" /> <author> <name>Elizabeth Bennet</name> <email>noreply@blogger.com</email> <uri>http://www.blogger.com/profile/profileID</uri> </author> </entry>
ملاحظة مهمة: لضمان التوافق مع الإصدارات المستقبلية، يجب
التأكّد من أنّه عند PUT
إدخال معدَّل، يتم الاحتفاظ بكل
ملف XML الذي كان متوفّرًا عند استرداد الإدخال من Blogger. بخلاف ذلك،
عند تنفيذ عناصر جديدة وتضمين <new-awesome-feature>
عناصر في الخلاصة، لن يعرضها العميل ولن يستفيد منها
المستخدمون. تعالج مكتبات عملاء Google
Data API جميع هذه المشاكل بشكل صحيح، لذا إذا كنت تستخدم
إحدى المكتبات، لن تواجه أي مشاكل.
ملاحظة: لا يمكن حاليًا تعديل بيانات المؤلف المرتبطة بالمواد المتوفّرة في المشاركات.
ملاحظة حول تحديد المشاكل وحلّها: تحظر بعض جدران الحماية رسائل HTTP
PUT
. لحلّ هذه المشكلة، يمكنك تضمين عنوان
X-HTTP-Method-Override: PUT
في طلب POST
.
لمعرفة التفاصيل، يُرجى الاطّلاع على مستند أساسيات بروتوكول Google Data API.
حذف المشاركات
لحذف مشاركة، أرسِل طلبًا بإجراء DELETE
إلى عنوان URL الخاص بتعديل المشاركة.
هذا هو عنوان URL نفسه المستخدَم لتعديل المشاركات.
ملاحظة حول تحديد المشاكل وحلّها: تحظر بعض جدران الحماية رسائل HTTP
DELETE
. لحلّ هذه المشكلة، يمكنك تضمين عنوان
X-HTTP-Method-Override: DELETE
في طلب POST
. لمعرفة التفاصيل، يُرجى الاطّلاع على مستند أساسيات بروتوكول Google Data API.
التعليقات
تتيح Blogger Data API إنشاء التعليقات واستردادها وحذفها. لا يمكن تعديل التعليقات (ولا تتوفّر هذه الميزة في واجهة الويب).
إنشاء التعليقات
لنشر تعليق، أنشئ عنصر Atom <entry>
مثل العنصر التالي:
<entry xmlns='http://www.w3.org/2005/Atom'> <title type="text">This is my first comment</title> <content type="html">This is my first comment</content> </entry>
لنشر هذا التعليق، ضَع عنصر <entry>
في Atom
في نص طلب POST
جديد، باستخدام نوع المحتوى
application/atom+xml
. بعد ذلك، أرسِل POST
الطلب إلى عنوان URL المناسب في Blogger:
POST http://www.blogger.com/feeds/blogID/postID/comments/default
ملاحظة: لا يمكنك حاليًا نشر تعليقات إلّا في مدوّنة يملكها المستخدم الذي تمّت مصادقته.
ملاحظة: لا يمكن حاليًا تحديد مؤلف مخصّص للتعليقات. ستظهر جميع التعليقات الجديدة كما لو أنّها من إنشاء المستخدم الذي تمّت مصادقة هويته حاليًا.
استرداد التعليقات
يمكنك استرداد التعليقات على مشاركة معيّنة من خلال إرسال ملف تعريف
GET
إلى عنوان URL لخلاصة التعليقات على هذه المشاركة:
GET http://www.blogger.com/feeds/blogID/postID/comments/default
يمكنك أيضًا الحصول على التعليقات من جميع المشاركات باستخدام خلاصة التعليقات في المدونة عنوان URL:
GET http://www.blogger.com/feeds/blogID/comments/default
تؤدي هذه الطلبات إلى عرض خلاصة تعليقات بالشكل التالي:
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:thr="http://purl.org/syndication/thread/1.0"> <id>tag:blogger.com,1999:blog-blogID.post-postID.comment-commentID</id> <updated>2007-04-04T21:56:29.803-07:00</updated> <title type="text">My Blog : Time to relax</title> <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html"/> <link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default"/> <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default"/> <author> <name>Blog Author name</name> </author> <generator version="7.00" uri="http://www2.blogger.com">Blogger</generator> <openSearch:totalResults>1</openSearch:totalResults> <openSearch:startIndex>1</openSearch:startIndex> <entry> <id>tag:blogger.com,1999:blog-blogID.post-commentID</id> <published>2007-04-04T21:56:00.000-07:00</published> <updated>2007-04-04T21:56:29.803-07:00</updated> <title type="text">This is my first comment</title> <content type="html">This is my first comment</content> <link rel="alternate" type="text/html" href="http://blogName.blogspot.com/2007/04/first-post.html#commentID"/> <link rel="self" type="application/atom+xml" href="http://blogName.blogspot.com/feeds/postID/comments/default/commentID"/> <link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/blogID/postID/comments/default/commentID"/> <thr:in-reply-to href="http://blogName.blogspot.com/2007/04/first-post.html" ref="tag:blogger.com,1999:blog-blogID.post-postID" source="http://www.blogger.com/feeds/posts/default/blogID" type="text/html"/> <author> <name>Blog Author name</name> <email>blog_author@gmail.com</email> <uri>http://www.blogger.com/profile/userID</uri> </author> <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blogName.blogspot.com/2007/04/first-post.html' ref='tag:blogger.com,1999:blog-blogID.post-postID' source='http://blogName.blogspot.com/feeds/posts/default/postID' type='text/html' /> </entry> </feed>
حذف التعليقات
لحذف تعليق، أرسِل طلبًا إلى DELETE
باستخدام عنوان URL لتعديل التعليق. تم تمييز عنوان URL هذا في خلاصة التعليقات أعلاه.
تنسيق التصدير
يتيح Blogger للمستخدمين تصدير مدوّناتهم واستيرادها باستخدام ملف ملف تصدير Blogger. يحتوي ملف التصدير هذا على جميع المشاركات والتعليقات لمدونة واحدة. ملف التصدير بتنسيق Atom نفسه الموضّح في الأقسام المتعلّقة باسترداد المشاركات والتعليقات. سيتضمّن ملف التصدير هذا محتوى خلاصة المشاركات ومحتوى خلاصة التعليقات معًا في مستند واحد.
لتصدير بيانات المدونة أو استيرادها باستخدام تنسيق التصدير، يمكنك الانتقال إلى صفحة الإعدادات للمدونة. لاسترداد ملف التصدير لأحد المدونات باستخدام Data API، استخدِم عنوان URL التالي:
GET http://www.blogger.com/feeds/blogID/archive
لاستيراد ملف التصدير، أنشئ طلبًا من نوع POST
إلى عنوان URL التالي مع تضمين محتوى ملف التصدير كبيانات الطلب وapplication/atom+xml
كنوع المحتوى:
POST http://www.blogger.com/feeds/blogID/archive/full
لا يتيح أيّ من عنوانَي URL أعلاه استخدام مَعلمات طلب البحث. يجب أن يحتوي كلا الطلبَين أيضًا على معلومات المصادقة، ولن يتمكّن سوى مشرفي المدونة من استيراد/تصدير المدونة باستخدام عناوين URL هذه للخلاصة.
ملاحظة: إذا كنت تنشئ ملف تصدير Blogger بنفسك، هناك قيد واحد حاليًا على ترتيب إدخالات التعليقات والمشاركات. سيُدرج ملف تصدير Blogger جميع المشاركات أولاً، ثم جميع التعليقات. يُسمح بتداخل إدخالات المشاركات والتعليقات ما دام إدخال التعليق يأتي بعد المشاركة التي يشير إليها.
لمزيد من المعلومات عن كيفية استخدام Blogger لتنسيق Atom في ملف التصدير، اطّلِع على دليل مرجعي للبروتوكول.