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

ملاحظة مهمة: سنوقف نهائيًا استخدام الإصدار 2.0 من Google Data API في 30 أيلول (سبتمبر) 2024. لضمان استمرار الوظائف الأدائية، يجب تحديث تطبيقاتك التي تعتمد على الإصدار 2.0 من "واجهة برمجة تطبيقات بيانات Google" إلى أحدث إصدار من واجهة برمجة التطبيقات. للحصول على أحدث إصدار، استخدِم الروابط في شريط القوائم العلوي على يمين الصفحة. ملاحظة: على الرغم من أنّ بعض طلبات GET (مثل إدراج المشاركات) ستظل متاحة كعناوين URL لخلاصة ، هناك اختلافات طفيفة في سلوكها. للحصول على معلومات مفصّلة، يُرجى الرجوع إلى مستندات مساعدة Blogger.

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

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

بالإضافة إلى تقديم بعض المعلومات الأساسية حول إمكانات Blogger Data API، يقدّم هذا المستند أمثلة على التفاعلات الأساسية مع Data API باستخدام ملف XML أولي وHTTPS. بعد قراءة هذا المستند، قد تحتاج إلى معرفة المزيد عن التفاعل مع واجهة برمجة التطبيقات باستخدام مكتبات العميل من خلال قراءة الأقسام الخاصة بلغة البرمجة في دليل المطوّر هذا.

المحتويات

الجمهور

هذا المستند مخصّص للمبرمجين الذين يريدون كتابة تطبيقات عملاء يمكنها التفاعل مع Blogger باستخدام XML وHTTPS.

يفترض هذا المستند أنّك تفهم الأفكار العامة وراء بروتوكول Google Data APIs.

إذا كنت تستخدم نظام التشغيل UNIX وتريد تجربة الأمثلة الواردة في هذا المستند بدون كتابة أي رمز، قد تجد أنّ أدوات سطر الأوامر في UNIX curl أو wget مفيدة. لمزيد من المعلومات، اطّلِع على ملفّات تعليمات برمجية هذه الأدوات.

للحصول على معلومات مرجعية حول Blogger Data API، يُرجى الاطّلاع على دليل مرجعي حول البروتوكول.

الخطوات الأولى

إنشاء حساب على Blogger

ننصحك بإنشاء حساب على Blogger لأغراض الاختبار. يستخدم Blogger حسابات Google، لذا إذا كان لديك حساب على Google، لن تحتاج إلى إجراء أي إعدادات.

تفويض الطلبات

عندما يطلب تطبيقك بيانات مستخدمين غير علنية، يجب أن يتضمّن رمز موافقة مميزًا. ويساعد الرمز المميز محرك البحث Google في التعرّف على تطبيقك.

لمحة عن بروتوكولات الموافقة على الطلبات

ننصحك باستخدام OAuth 2.0 للسماح بالطلبات.

تتيح Blogger GData API أيضًا خيارات التفويض القديمة، مثل OAuth 1.0 أو AuthSub أو ClientLogin، ولكن في معظم الحالات، لا ننصح باستخدام هذه الخيارات الأخرى. إذا كان تطبيقك يستخدم هذين الخيارَين، ننصحك بنقل البيانات إلى OAuth 2.0 إن أمكن.

إذا كان تطبيقك يتضمّن متطلبات تفويض غير عادية، مثل تسجيل الدخول في الوقت نفسه الذي تطلب فيه الوصول إلى البيانات (مهجّن) أو تفويضًا على مستوى النطاق لمنح الإذن (2LO)، لن تتمكّن في الوقت الحالي من استخدام الرموز المميّزة لبروتوكول OAuth 2.0. في هذه الحالات، عليك استخدام رموز OAuth 1.0 بدلاً من ذلك.

الموافقة على الطلبات باستخدام OAuth 2.0

يجب أن يوافق مستخدم موثّق على الطلبات الموجّهة إلى Blogger GData API للحصول على بيانات المستخدم غير المتاحة للجميع.

تختلف تفاصيل عملية الموافقة على الطلبات لبروتوكول OAuth 2.0 نوعًا ما حسب نوع التطبيق الذي تكتبه. تنطبق العملية العامة التالية على جميع أنواع التطبيقات:

  1. عند إنشاء تطبيقك، عليك تسجيله لدى Google. ويوفّر محرك بحث Google المعلومات التي ستحتاجها في ما بعد، مثل معرّف العميل وسر العميل.
  2. إذا احتاج التطبيق الدخول إلى بيانات المستخدِم، يطلب التطبيق من Google نطاقًا معيّنًا للوصول.
  3. يعرض Google مربّع حوار OAuth للمستخدم، ويطلب منه السماح لتطبيقك بطلب بعض بياناته.
  4. عند موافقة المستخدِم، يمنح Google تطبيقك رمز دخول قصير الأجل.
  5. يطلب تطبيقك بيانات المستخدِم، من خلال إرفاق رمز الدخول بالطلب.
  6. يعرض Google البيانات المطلوبة بعد أن يتأكّد من صلاحية طلبك والرمز المميّز.

تستلزم بعض التدفقات إجراء خطوات إضافية، مثل استخدام رموز مميزة للتحديث للحصول على رموز دخول جديدة. لمزيد من المعلومات التفصيلية حول عمليات الموافقة على الطلبات لأنواع مختلفة من التطبيقات، راجِع مستندات بروتوكول OAuth 2.0 في Google.

في ما يلي معلومات عن نطاق OAuth 2.0 في واجهة برمجة تطبيقات Blogger GData API:

https://www.blogger.com/feeds/

لطلب الوصول باستخدام بروتوكول OAuth 2.0، يحتاج تطبيقك إلى معلومات عن النطاق، بالإضافة إلى المعلومات التي يوفّرها Google أثناء تسجيل التطبيق (مثل معرِّف العميل و/أو سر العميل).

ملاحظة: يمكن لمكتبات عملاء Google APIs معالجة جزء من عملية السماح بالنيابة عنك. وتتوفّر هذه المكتبات للعديد من لغات البرمجة، ويمكنك الاطّلاع على صفحة المكتبات والنماذج للحصول على مزيد من التفاصيل.

تحديد إصدار

يجب أن يحدِّد كل طلب ترسله باستخدام Blogger Data API الإصدار 2 من واجهة برمجة التطبيقات.

لتحديد رقم إصدار، استخدِم عنوان HTTP GData-Version:

GData-Version: 2

بدلاً من ذلك، إذا لم تتمكّن من ضبط رؤوس HTTP، يمكنك تحديد v=2 كمَعلمة طلب بحث في عنوان URL. ولكن يُفضَّل استخدام عنوان HTTP كلما أمكن.

ملاحظة: توفّر مكتبات العملاء عناوين الإصدار المناسبة تلقائيًا، لذا لا تستخدِم مَعلمة طلب البحث v=2 عند استخدام مكتبة عملاء.

استرداد قائمة بالمدونات

توفّر Blogger Data API خلاصة تسرد المدونات الخاصة بمستخدم معيّن، وتُعرف هذه الخلاصة باسم "الخلاصة الوصفية".

أرسِل طلب HTTP GET إلى عنوان URL التالي لاسترداد قائمة المدونات:

https://www.blogger.com/feeds/profileID/blogs

حيث يكون رقم تعريف الملف التجاري هو الرقم الوارد في عنوان URL لصفحة الملف الشخصي للمستخدم.

ملاحظة: يمكنك أيضًا استبدال default بمعرّف المستخدم، ما يطلب من Blogger عرض قائمة المدونات للمستخدم الذي تتضمّن بيانات اعتماده الطلب.

قد يبدو إدخال في الخلاصة الوصفية على النحو التالي:

<entry gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:user-userNumber.blog-blogID</id>
  <published>2006-08-02T18:44:43.089-07:00</published>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <summary type='html'>Being the journal of Elizabeth Bennet</summary>
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/profileID/blogs/blogID' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='http://schemas.google.com/g/2005#post'
    type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  ...
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </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 لهذا العنصر، والتي تكون بالتنسيق التالي:

https://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://www.w3.org/2007/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 https://www.blogger.com/feeds/blogID/posts/default

بعد ذلك، يعرض Blogger رمز حالة HTTP 200 OK وخلاصة قياسية لتنسيق Atom 1.0 تحتوي على مشاركات المدونة.

في ما يلي مثال على خلاصة مدوّنة تتضمّن مشاركة واحدة فقط. يُرجى ملاحظة أنّنا عدّلنا هذا المثال قليلاً لتسهيل قراءته على المستخدمين. على وجه التحديد، تحتوي خلاصة Blogger الحقيقية على أرقام تعريف وعناوين URL فعلية.

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"D08FQn8-eip7ImA9WxZbFEw."'>
  <id>tag:blogger.com,1999:blog-blogID</id>
  <updated>2008-04-17T00:03:33.152-07:00</updated>
  <title>Lizzy's Diary</title>
  <subtitle type='html'></subtitle>
  <link rel='http://schemas.google.com/g/2005#feed'
    type='application/atom+xml'
    href='http://blogName.blogspot.com/feeds/posts/default' />
  <link rel='self' type='application/atom+xml'
    href='http://www.blogger.com/feeds/blogID/posts/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www2.blogger.com'>Blogger</generator>
  <entry gd:etag='W/"D0YHRn84eip7ImA9WxZUFk8."'>
    <id>tag:blogger.com,1999:blog-blogID.post-postID</id>
    <published>2008-04-07T20:25:00.005-07:00</published>
    <updated>2008-04-07T20:25:37.132-07:00</updated>
    <title>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='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/posts/default/postID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2008/04/quite-disagreeable.html' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>noreply@blogger.com</email>
    </author>
  </entry>
</feed>

استرداد مشاركة مدونة مرة أخرى

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

لتنفيذ هذا النوع من الاسترداد الشَرطي، أرسِل طلب HTTP GET يتضمّن رأس HTTP If-None-Match. في العنوان، حدِّد علامة ETag للعنصر، والتي يمكنك العثور عليها في سمة gd:etag لعنصر <entry>.

على سبيل المثال:

If-None-Match: W/"D08FQn8-eil7ImA9WxZbFEw."

عندما يتلقّى Blogger هذا الطلب، يتحقّق ممّا إذا كان الإدخال الذي طلبته يحتوي على علامة ETag نفسها التي حدّدتها. إذا تطابقت علامات ETag، هذا يعني أنّه لم يتم إجراء أي تغيير على الإدخال، ويعرض Blogger رمز حالة HTTP 304 Not Modified.

إذا لم تتطابق علامات ETag، يعني ذلك أنّه تم تعديل الإدخال منذ المرة الأخيرة التي طلبت فيها عرض الصفحة، ويعرض Blogger الإدخال.

لمزيد من المعلومات عن علامات ETags، يُرجى الاطّلاع على دليل مرجعي لواجهات برمجة تطبيقات Google Data API.

استرداد المشاركات باستخدام مَعلمات طلب البحث

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

على سبيل المثال، لإرسال طلب بحث حسب النطاق الزمني، أضِف المَعلمتَين published-min وpublished-max إلى عنوان URL للطلب. للحصول على كل ملفّات مشاركة المدونة التي تم إنشاؤها بين 16 آذار (مارس) 2008 و24 آذار (مارس) 2008، أرسِل طلب HTTP إلى عنوان URL الخاص بخلاصة المدونة:

GET https://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
تُستخدَم لتحديد الفئات (المعروفة أيضًا باسم التصنيفات) لفلترة نتائج الخلاصة. على سبيل المثال، يعرض https://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.
المسار
مسار الرابط الثابت لمشاركة. على سبيل المثال، بالنسبة إلى مشاركة لها عنوان URL‏ http://buzz.blogger.com/2011/08/bloggers-fresh-new-look.html، يكون مسار الرابط الدائم هو /2011/08/bloggers-fresh-new-look.html.
q
سلسلة طلب البحث النصية الكاملة يتيح لك ذلك البحث في مدوّنة عن المشاركات التي تليق بطلب بحث معيّن.

لمزيد من المعلومات عن مَعلمات طلب البحث، اطّلِع على دليل مرجعي لواجهة برمجة تطبيقات Blogger Data API ودليل مرجعي لواجهات برمجة تطبيقات Google Data API.

تعديل المشاركات

لتعديل مشاركة مدوّنة حالية، عليك أولاً استرداد الإدخال الذي تريد تعديله، ثم تعديله، ثم إرسال طلب PUT يتضمّن الإدخال المعدَّل في نص الرسالة إلى عنوان URL لتعديل المشاركة. تأكَّد من أنّ قيمة <id> في الإدخال الذي PUT تتطابق تمامًا مع <id> للإدخال الحالي.

تم تمييز عنوان URL المراد تعديله في الإدخال التالي:

<entry gd:etag='W/"CUYDSXo8fSp7ImA9WB9UFkU."'>
  <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 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 https://www.blogger.com/feeds/blogID/postID/comments/default

ملاحظة: لا يمكنك حاليًا نشر تعليقات إلّا في مدوّنة يملكها المستخدم الذي تمّت مصادقته.

ملاحظة: لا يمكن حاليًا تحديد مؤلف مخصّص للتعليقات. ستظهر جميع التعليقات الجديدة كما لو أنّها من إنشاء المستخدم الذي تمّت مصادقة هويته حاليًا.

استرداد التعليقات

يمكنك استرداد التعليقات على مشاركة معيّنة من خلال إرسال ملف تعريف GET إلى عنوان URL لخلاصة التعليقات على هذه المشاركة:

GET https://www.blogger.com/feeds/blogID/postID/comments/default

يمكنك أيضًا الحصول على التعليقات من جميع المشاركات باستخدام خلاصة التعليقات في المدونة عنوان URL:

GET https://www.blogger.com/feeds/blogID/comments/default

تؤدي هذه الطلبات إلى عرض خلاصة تعليقات بالشكل التالي:

<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet href="http://www.blogger.com/styles/atom.css"
  type="text/css"?>
<feed xmlns='http://www.w3.org/2005/Atom'
    xmlns:openSearch='http://a9.com/-/spec/opensearch/1.1/'
    xmlns:gd='http://schemas.google.com/g/2005'
    gd:etag='W/"CUYMQ348fyp7ImA9WB9UFkU."'>
  <id>tag:blogger.com,1999:blog-blogID.postpostID..comments</id>
  <updated>2007-12-14T17:46:22.077-08:00</updated>
  <title>Comments on Lizzy's Diary: Quite disagreeable</title>
  <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://www.blogger.com/feeds/blogID/postID/comments/default' />
  <link rel='alternate' type='text/html'
    href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html' />
  <author>
    <name>Elizabeth Bennet</name>
    <uri>http://www.blogger.com/profile/profileID</uri>
    <email>noreply@blogger.com</email>
  </author>
  <generator version='7.00'
    uri='http://www.blogger.com'>Blogger</generator>
  <openSearch:totalResults>1</openSearch:totalResults>
  <openSearch:startIndex>1</openSearch:startIndex>
  <entry gd:etag='W/"CUYCQX47eSp7ImA9WB9UFkU."'>
    <id>tag:blogger.com,1999:blog-blogID.post-commentID</id>
    <published>2007-12-14T17:46:00.001-08:00</published>
    <updated>2007-12-14T17:46:00.001-08:00</updated>
    <title>Darcy FTW!</title>
    <content type='html'>Darcy FTW!</content>
    <link rel='edit' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='self' type='application/atom+xml'
      href='http://www.blogger.com/feeds/blogID/postID/comments/default/commentID' />
    <link rel='alternate' type='text/html'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html?showComment=1197683160001#ccommentID'
      title='' />
    <author>
      <name>Elizabeth Bennet</name>
      <uri>http://www.blogger.com/profile/profileID</uri>
      <email>liz@gmail.com</email>
    </author>
    <thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0'
      href='http://blogName.blogspot.com/2007/12/quite-disagreeable_5283.html'
      ref='tag:blogger.com,1999:blog-blogID.post-postID'
      source='http://www.blogger.com/feeds/blogID/posts/default/postID'
      type='text/html' />
  </entry>
</feed>

حذف التعليقات

لحذف تعليق، أرسِل طلبًا إلى DELETE باستخدام عنوان URL لتعديل التعليق. تم تمييز عنوان URL هذا في خلاصة التعليقات أعلاه.

تنسيق التصدير

يسمح Blogger للمستخدمين بتصدير مدوّناتهم واستيرادها باستخدام ملف ملف تصدير Blogger. يحتوي ملف التصدير هذا على جميع المشاركات والتعليقات لمدونة واحدة. ملف التصدير بتنسيق Atom نفسه الموضّح في الأقسام حول استرداد المشاركات والتعليقات. سيتضمّن ملف التصدير هذا محتوى خلاصة المشاركات ومحتوى خلاصة التعليقات معًا في مستند واحد.

لتصدير بيانات المدونة أو استيرادها باستخدام تنسيق التصدير، يمكنك الانتقال إلى صفحة الإعدادات للمدونة. لاسترداد ملف التصدير لأحد المدونات باستخدام Data API، استخدِم عنوان URL التالي:

GET https://www.blogger.com/feeds/blogID/archive

لاستيراد ملف التصدير، أنشئ طلبًا من نوع POST إلى عنوان URL التالي مع تضمين محتوى ملف التصدير كبيانات الطلب وapplication/atom+xml كنوع المحتوى:

POST https://www.blogger.com/feeds/blogID/archive/full

لا يتيح أيّ من عنوانَي URL أعلاه استخدام مَعلمات طلب البحث. يجب أن يحتوي كلا الطلبَين أيضًا على معلومات المصادقة، ولن يتمكّن سوى مشرفي المدونة من استيراد/تصدير المدونة باستخدام عناوين URL هذه للخلاصة.

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

لمزيد من المعلومات عن كيفية استخدام Blogger لتنسيق Atom في ملف التصدير، اطّلِع على دليل مرجعي لبروتوكول.

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