Blogger JSON API: استخدام واجهة برمجة التطبيقات

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

يتناول هذا المستند كيفية استخدام الميزات الشائعة لواجهة برمجة تطبيقات Blogger JSON باستخدام نمط الاتصال RESTful.

المحتويات

مقدمة

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

إذا لم تكن معتادًا على مفاهيم Blogger، يجب قراءة البدء قبل بدء الترميز.

الموافقة على الطلبات وتحديد هوية تطبيقك

كل طلب يرسله تطبيقك إلى واجهة برمجة التطبيقات Blogger JSON API يحتاج إلى تعريفه على Google. هناك طريقتان لتحديد تطبيقك: استخدام رمز OAuth 2.0 المميز (الذي يسمح أيضًا بالطلب) و/أو استخدام مفتاح واجهة برمجة التطبيقات للتطبيق. في ما يلي كيفية تحديد الخيار الذي يجب استخدامه:

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

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

يجب أن يستخدم تطبيقك OAuth 2.0 للسماح بالطلبات. ولا يُسمح باستخدام أي بروتوكولات أخرى للموافقة على الطلبات.

ملاحظة: لا تتيح واجهة برمجة التطبيقات Blogger JSON API حاليًا تسجيل الدخول في الوقت نفسه الذي يتم فيه طلب الوصول إلى البيانات (مختلط) أو تفويض سلطة على مستوى النطاق (2LO).

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

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

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

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

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

في ما يلي معلومات عن نطاق OAuth 2.0 لـ Blogger JSON API:

https://www.googleapis.com/auth/blogger

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

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

الحصول على مفتاح واجهة برمجة التطبيقات واستخدامه

يجب أن تكون الطلبات التي يتم إرسالها إلى Blogger JSON API للبيانات العلنية مصحوبة بمعرّف، والذي يمكن أن يكون مفتاح واجهة برمجة تطبيقات أو رمز مصادقة.

للحصول على مفتاح واجهة برمجة التطبيقات، يُرجى الانتقال إلى وحدة تحكُّم واجهات برمجة التطبيقات. في جزء الخدمات، عليك تفعيل [api_name]، وفي حال ظهور بنود الخدمة، عليك قراءتها وقبولها.

بعد ذلك، انتقِل إلى جزء الوصول إلى واجهة برمجة التطبيقات. يقع مفتاح واجهة برمجة التطبيقات بالقرب من أسفل هذا الجزء، في القسم بعنوان "الوصول البسيط إلى واجهة برمجة التطبيقات".

بعد الحصول على مفتاح واجهة برمجة التطبيقات، يمكن لتطبيقك إلحاق مَعلمة طلب البحث key=yourAPIKey بجميع عناوين URL للطلب.

يمكن تضمين مفتاح واجهة برمجة التطبيقات في عناوين URL بشكل آمن ولا يحتاج إلى أي ترميز.

العمل مع المدونات

استرداد مدونة

يمكنك استرداد معلومات لمورد مدونات معيّن عن طريق إرسال طلب HTTP GET إلى معرِّف الموارد المنتظم (URI) للمدونة. يكون عنوان URI لمورد مدونات بالتنسيق التالي:

https://www.googleapis.com/blogger/v2/blogs/blogId

الطلب

يُرجى الاطّلاع على المثال أدناه:

GET https://www.googleapis.com/blogger/v2/blogs/2399953&key=YOUR-API-KEY

بما أنّ المستخدم لا يحتاج إلى المصادقة لاسترداد مدوّنة علنية، لا حاجة إلى تقديم عنوان HTTP يتضمّن Authorization مع طلب GET هذا، ولكن إذا لم تقدّم هذا العنوان، عليك تقديم مفتاح واجهة برمجة التطبيقات.

توجد في Blogger أيضًا مدونات خاصة تتطلب مصادقة.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK وبيانات المدونة:

200 OK

{
  "kind": "blogger#blog",
  "id": "2399953",
  "name": "Blogger Buzz",
  "description": "The Official Buzz from Blogger at Google",
  "published": "2007-04-23T22:17:29.261Z",
  "updated": "2011-08-02T06:01:15.941Z",
  "url": "http://buzz.blogger.com/",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953",
  "posts": {
    "totalItems": 494,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts"
  },
  "pages": {
    "totalItems": 2,
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/pages"
  },
  "locale": {
    "language": "en",
    "country": "",
    "variant": ""
  }
}

استرداد مدونات المستخدم

يمكنك استرداد قائمة بمدونات المستخدم عن طريق إرسال طلب HTTP GET إلى معرِّف الموارد المنتظم (URI) لمجموعة المدونات:

https://www.googleapis.com/blogger/v2/users/userId/blogs

الطلب

في ما يلي مثال على طلب GET الذي يسرد مدونات المستخدم:

GET https://www.googleapis.com/blogger/v2/users/self/blogs
Authorization: /* OAuth 2.0 token here */

ملاحظة: يجب مصادقة المستخدم لإدراج مدوناته الخاصة، لذا عليك تقديم عنوان HTTP يتضمّن Authorization مع طلب GET.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK والتمثيل الكامل لقائمة مدونات المستخدم:

200 OK

{
  "kind": "blogger#blogList",
  "items": [
    {
      "kind": "blogger#blog",
      "id": "4967929378133675647",
      "name": "Brett's Test Blawg",
      "description": "",
      "published": "2010-10-06T23:33:31.662Z",
      "updated": "2011-08-08T06:50:02.005Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647",
      "posts": {
        "totalItems": 13,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/posts"
      },
      "pages": {
        "totalItems": 1,
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages"
      },
      "locale": {
        "language": "en",
        "country": "",
        "variant": ""
      }
    }
  ]
}

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

استرداد مشاركات من مدونة

يمكنك استرداد قائمة بالمشاركات من مدونة معيّنة من خلال إرسال طلب GET إلى معرّف الموارد المنتظم (URI) لمجموعة المشاركات. يحتوي عنوان URI لمجموعة مشاركات على التنسيق التالي:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts

الطلب

يُرجى الاطّلاع على المثال أدناه:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts&key=YOUR-API-KEY

بما أنّ المستخدم لا يحتاج إلى المصادقة لاسترداد المشاركات من مدوّنة علنية، لا حاجة إلى تقديم عنوان HTTP يتضمّن العنصر Authorization مع طلب GET هذا. أما إذا لم تقدّم هذا العنوان، فعليك تقديم مفتاح واجهة برمجة التطبيقات.

توجد في Blogger أيضًا مدونات خاصة تتطلب مصادقة.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK وقائمة المشاركات:

200 OK

{
  "kind": "blogger#postList",
  "nextPageToken": "CgkIChiAkceVjiYQ0b2SAQ",
  "prevPageToken": "CgkIChDBwrK3mCYQ0b2SAQ",
  "items": [
    {
      "kind": "blogger#post",
      "id": "7706273476706534553",
      "blog": {
        "id": "2399953"
      },
      "published": "2011-08-01T19:58:00.000Z",
      "updated": "2011-08-01T19:58:51.947Z",
      "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
      "title": "Latest updates, August 1st",
      "content": "elided for readability",
      "author": {
        "id": "401465483996",
        "displayName": "Brett Wiltshire",
        "url": "http://www.blogger.com/profile/01430672582309320414",
        "image": {
          "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
         }
      },
      "replies": {
        "totalItems": "0",
        "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
      }
    },
    {
      "kind": "blogger#post",
      "id": "6069922188027612413",
      elided for readability
    }
  ]
}

استرداد مشاركة معينة

يمكنك استرداد مشاركة معيّنة من المدوّنة عن طريق إرسال طلب GET إلى معرّف الموارد المنتظم (URI) لمورد المشاركات. يكون عنوان URI لمورد المشاركات بالتنسيق التالي:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId

الطلب

يُرجى الاطّلاع على المثال أدناه:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553&key=YOUR-API-KEY

بما أنّ المستخدم لا يحتاج إلى المصادقة لاسترداد المشاركات من مدوّنة علنية، لا حاجة إلى تقديم عنوان HTTP يتضمّن العنصر Authorization مع طلب GET هذا. أما إذا لم تقدّم هذا العنوان، فعليك تقديم مفتاح واجهة برمجة التطبيقات.

توجد في Blogger أيضًا مدونات خاصة تتطلب مصادقة.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK ومحتوى المشاركة:

200 OK

{
  "kind": "blogger#post",
  "id": "7706273476706534553",
  "blog": {
    "id": "2399953"
  },
  "published": "2011-08-01T19:58:00.000Z",
  "updated": "2011-08-01T19:58:51.947Z",
  "url": "http://buzz.blogger.com/2011/08/latest-updates-august-1st.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553",
  "title": "Latest updates, August 1st",
  "content": "elided for readability",
  "author": {
    "id": "401465483996",
    "displayName": "Brett Wiltshire",
    "url": "http://www.blogger.com/profile/01430672582309320414",
    "image": {
      "url": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
    }
  },
  "replies": {
    "totalItems": "0",
    "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/7706273476706534553/comments"
  }
}

التعامل مع التعليقات

استرداد التعليقات على مشاركة

يمكنك استرداد قائمة بالتعليقات المنشورة على مشاركة من خلال إرسال طلب GET إلى معرّف الموارد المنتظم (URI) لمجموعة التعليقات. يكون عنوان URI لمجموعة التعليقات بالتنسيق التالي:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments

الطلب

يُرجى الاطّلاع على المثال أدناه:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments&key=YOUR-API-KEY

بما أنّ المستخدم لا يحتاج إلى المصادقة لاسترداد "التعليقات" من مدوّنة علنية، ليس عليك تقديم عنوان HTTP يتضمّن العنصر Authorization مع طلب GET هذا. أمّا إذا لم تقدّم هذا العنوان، فعليك تقديم مفتاح واجهة برمجة التطبيقات.

توجد في Blogger أيضًا مدونات خاصة تتطلب مصادقة.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK وقائمة التعليقات:

200 OK

{
  "kind": "blogger#commentList",
  "nextPageToken": "CgkIFBDwjvDXlyYQ0b2SARj9mZe9n8KsnlQ",
  "prevPageToken": "CgkIFBisvMGRlyYQ0b2SARj9mZe9n8KsnlQ",
  "items": [
    {
       "kind": "blogger#comment",
       "id": "9200761938824362519",
       "post": {
         "id": "6069922188027612413"
       },
       "blog": {
         "id": "2399953"
       },
       "published": "2011-07-28T19:19:57.740Z",
       "updated": "2011-07-28T21:29:42.015Z",
       "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
       "content": "elided",
       "author": {
         "id": "530579030283",
         "displayName": "elided",
         "url": "elided",
         "image": {
           "url": "elided"
         }
       }
    },
    {
      "kind": "blogger#comment",
      "id": "400101178920857170",
      elided for readability
    }
  ]
}

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

يمكنك استرداد تعليق معيّن من مشاركة من خلال إرسال طلب GET إلى معرّف الموارد المنتظم (URI) لمورد التعليقات. يكون عنوان URI لمورد التعليقات بالتنسيق التالي:

https://www.googleapis.com/blogger/v2/blogs/blogId/posts/postId/comments/commentId

الطلب

يُرجى الاطّلاع على المثال أدناه:

GET https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519&key=YOUR-API-KEY

بما أنّ المستخدم لا يحتاج إلى المصادقة لاسترداد "التعليقات" من مدوّنة علنية، ليس عليك تقديم عنوان HTTP يتضمّن العنصر Authorization مع طلب GET هذا. أمّا إذا لم تقدّم هذا العنوان، فعليك تقديم مفتاح واجهة برمجة التطبيقات.

توجد في Blogger أيضًا مدونات خاصة تتطلب مصادقة.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK وبيانات التعليق:

200 OK

{
  "kind": "blogger#comment",
  "id": "9200761938824362519",
  "post": {
    "id": "6069922188027612413"
  },
  "blog": {
    "id": "2399953"
  },
  "published": "2011-07-28T19:19:57.740Z",
  "updated": "2011-07-28T21:29:42.015Z",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/2399953/posts/6069922188027612413/comments/9200761938824362519",
  "content": "elided",
  "author": {
    "id": "530579030283",
    "displayName": "elided",
    "url": "elided",
    "image": {
      "url": "elided"
    }
  }
}

التعامل مع الصفحات

استرداد الصفحات لإنشاء مدونة

يمكنك استرداد قائمة صفحات للمدوّنة من خلال إرسال طلب GET إلى معرّف الموارد المنتظم (URI) لجمع الصفحات. يكون عنوان URI لمجموعة الصفحات بالتنسيق التالي:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages

الطلب

يُرجى الاطّلاع على المثال أدناه:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages&key=YOUR-API-KEY

بما أنّ المستخدم لا يحتاج إلى المصادقة لاسترداد "الصفحات" من مدوّنة علنية، لا حاجة إلى تقديم عنوان HTTP يتضمّن العنصر Authorization مع طلب GET هذا. أما إذا لم تقدّم هذا العنوان، فعليك تقديم مفتاح واجهة برمجة التطبيقات.

توجد في Blogger أيضًا مدونات خاصة تتطلب مصادقة.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK وقائمة الصفحات:

200 OK

{
  "kind": "blogger#pageList",
  "items": [
    {
      "kind": "blogger#page",
      "id": "273541696466681878",
      "blog": {
        "id": "4967929378133675647"
      },
      "published": "2011-07-14T16:16:00.000Z",
      "updated": "2011-07-14T16:16:23.602Z",
      "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
      "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
      "title": "Static Content",
      "content": "elided for readability",
      "author": {
        "id": "901569848744",
        "displayName": "brett",
        "url": "http://www.blogger.com/profile/16258312240222542576",
        "image": {
          "url": "https://resources.blogblog.com/img/b16-rounded.gif"
        }
      }
    }
  ]
}

استرداد صفحة معينة

يمكنك استرداد صفحة معيّنة من المدوّنة من خلال إرسال طلب GET إلى معرّف الموارد المنتظم (URI) لمورد الصفحات. يكون عنوان URI لمورد الصفحات بالتنسيق التالي:

https://www.googleapis.com/blogger/v2/blogs/blogId/pages/pageId

الطلب

يُرجى الاطّلاع على المثال أدناه:

GET https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878&key=YOUR-API-KEY

بما أنّ المستخدم لا يحتاج إلى المصادقة لاسترداد "الصفحات" من مدوّنة علنية، لا حاجة إلى تقديم عنوان HTTP يتضمّن العنصر Authorization مع طلب GET هذا. أما إذا لم تقدّم هذا العنوان، فعليك تقديم مفتاح واجهة برمجة التطبيقات.

توجد في Blogger أيضًا مدونات خاصة تتطلب مصادقة.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK وبيانات الصفحة:

200 OK

{
  "kind": "blogger#page",
  "id": "273541696466681878",
  "blog": {
    "id": "4967929378133675647"
  },
  "published": "2011-07-14T16:16:00.000Z",
  "updated": "2011-07-14T16:16:23.602Z",
  "url": "http://brettmorgan-test-blawg.blogspot.com/p/static-content.html",
  "selfLink": "https://www.googleapis.com/blogger/v2/blogs/4967929378133675647/pages/273541696466681878",
  "title": "Static Content",
  "content": "elided for readability",
  "author": {
    "id": "901569848744",
    "displayName": "brett",
    "url": "http://www.blogger.com/profile/16258312240222542576",
    "image": {
      "url": "https://resources.blogblog.com/img/b16-rounded.gif"
    }
  }
}

العمل مع المستخدمين

استرداد مستخدم

يمكنك استرداد معلومات المستخدم عن طريق إرسال طلب HTTP GET إلى معرّف الموارد المنتظم (URI) لموارد المستخدمين:

https://www.googleapis.com/blogger/v2/users/userId

الطلب

في ما يلي مثال على طلب GET الذي يسرد مدونات المستخدم:

GET https://www.googleapis.com/blogger/v2/users/self
Authorization: /* OAuth 2.0 token here */

ملاحظة: يجب مصادقة المستخدم لإدراج معلوماته الخاصة، لذا عليك تقديم عنوان HTTP يتضمّن Authorization مع طلب GET.

الإجابة

إذا نجح الطلب، يستجيب الخادم برمز حالة HTTP 200 OK ورابط إلى قائمة مدونات المستخدم:

200 OK

{
  "kind": "blogger#user",
  "id": "901569848744",
  "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744",
  "blogs": {
    "selfLink": "https://www.googleapis.com/blogger/v2/users/901569848744/blogs"
  }
}

مَعلمات طلبات البحث العادية

يمكن استخدام مَعلمات طلب البحث التالية مع جميع الطرق وجميع الموارد في واجهات برمجة تطبيقات Blogger.

يتم توثيق مَعلمات طلب البحث التي تنطبق على جميع عمليات واجهات برمجة تطبيقات Blogger في معلَمات النظام.