دليل المطوّر: البروتوكول

ملاحظة مهمة: هذه نسخة قديمة من هذه الصفحة. للحصول على أحدث إصدار، استخدم الروابط الموجودة في شريط التنقل بالجانب الأيسر.

تسمح واجهة برمجة التطبيقات لبيانات Blogger لتطبيقات العميل بعرض Blogger وتحديثه. في شكل خلاصات Google Data API.

يمكن لتطبيق العميل استخدام واجهة برمجة تطبيقات Blogger Data API لإنشاء مدوّنة جديدة. وتعديل مشاركات المدونة الحالية أو حذفها والاستعلام عن مشاركات المدونة المطابقة بمعايير محددة.

بالإضافة إلى تقديم بعض المعلومات الأساسية حول إمكانات Blogger للبيانات، يقدم هذا المستند أمثلة على تفاعلات 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 رمزًا مميزًا للمصادقة إلى عنوان URL هذا، حيث قيمة معلَمة طلب البحث 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.

إذا نجح الأمر، سيعرض الخادم حالة HTTP 200 OK بالإضافة إلى ثلاثة رموز أبجدية رقمية طويلة في نص الاستجابة: SID وLSID و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 خلاصة تسرد المدونات الإلكترونية التي user; تُعرف هذه الخلاصة باسم "الخلاصة".

أرسِل GET HTTP إلى عنوان 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>

للحصول على معلومات عن معنى كل عنصر من هذه العناصر، راجِع المقالة مستند مرجع بروتوكول واجهات برمجة تطبيقات البيانات أو ملف 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 المستند المرجعي لبروتوكول واجهة برمجة التطبيقات

إنشاء مسودة منشور مدونة

يتم إنشاء مسودات المشاركات بالطريقة نفسها التي يتم بها إنشاء المشاركات العامة، ولكن مع تمت إضافة عنصر <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، ثم تعديل المشاركة. يمكنك الاطّلاع على كيفية استرداد المشاركات وتعديلها في القسمَين التاليَين.

ملاحظة: لمزيد من المعلومات حول خلاصة 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'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
      this evening. I found him quite disagreeable.&lt;/p&gt;</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 استخدام معلَمات طلب البحث التالية:

alt
نوع الخلاصة التي سيتم عرضها، مثل atom (التلقائي) أو rss
/category
يحدد هذا الإعداد الفئات (المعروفة أيضًا باسم التصنيفات) لفلترة نتائج الخلاصة. على سبيل المثال، يعرض http://www.blogger.com/feeds/blogID/posts/default/-/Fritz/Laurie الإدخالات التي تحتوي على الملصقين Fritz وLaurie.
max-results
الحد الأقصى لعدد الإدخالات المطلوب عرضها.
orderby
الترتيب الذي يتم به عرض الإدخالات، مثل lastmodified (الخيار التلقائي) أو starttime أو updated.
منشور - دقيقة - الحد الأقصى المنشور
الحدّ الأدنى والأعلى لتاريخ نشر الإدخال
start-index
فهرس يستند إلى 1 للنتيجة الأولى التي سيتم استرجاعها (لصفحة البيانات).
محدث-الحد الأقصى-الحد الأقصى-المحدَّث
الحدود المفروضة على تواريخ تعديل الإدخالات. ويتم تجاهل مَعلمات طلب البحث هذه ما لم يتم ضبط المَعلمة 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'>&lt;p&gt;I met Mr. Bingley's friend Mr. Darcy
    this evening. I found him quite disagreeable.&lt;/p&gt;</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 تتعامل جميع مكتبات برامج واجهة برمجة التطبيقات للبيانات مع هذا الأمر بشكل صحيح، لذا إذا كنت تستخدم مع إحدى المكتبات التي أنهيت العمل عليها.

ملاحظة: تعديل بيانات المؤلف المرتبطة المشاركات غير متاحة حاليًا.

ملاحظة حول تحديد المشاكل وحلّها: تحظر بعض جدران الحماية رسائل 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>

لنشر هذا التعليق، أضِف عنصر Atom <entry>. في نص طلب 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 نفسه الموصوف في الأقسام الخاصة باسترداد المشاركات والتعليقات. سيحتوي ملف التصدير هذا على محتوى خلاصة المشاركات وخلاصة التعليقات معًا في مستند واحد.

لتصدير بيانات المدونة أو استيرادها باستخدام تنسيق التصدير، يمكنك الانتقال إلى صفحة الإعدادات في المدونة لاسترداد ملف التصدير لملف باستخدام واجهة برمجة تطبيقات البيانات، استخدم عنوان 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 في عملية التصدير يمكنك مراجعة البروتوكول المرجع.

الرجوع إلى الأعلى