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

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

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

المحتويات

مقدمة

هذا المستند مخصص للمطورين الذين يريدون كتابة تطبيقات يمكنه التفاعل مع واجهة برمجة تطبيقات Blogger JSON. 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 في لوحة "الخدمات" بواجهات 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) لمورد المدونات بالتنسيق التالي:

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 إلى معرّف الموارد المنتظم لمجموعة المدونات:

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 */

ملاحظة: يجب مصادقة المستخدم من أجل إدراج مدوناتهم الخاصة، لذا يجب تقديم Authorization HTTP مع طلب 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) لمجموعة Posts على النحو التالي:

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) لمورد Posts على النحو التالي:

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) تحتوي مجموعة التعليقات على التنسيق التالي:

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) يحتوي مورد التعليقات على التنسيق التالي:

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 لمجموعة الصفحات. يكون تنسيق عنوان URL لمجموعة صفحات على النحو التالي:

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 */

ملاحظة: يجب مصادقة المستخدم من أجل عن معلوماتها الخاصة، لذا يجب تقديم Authorization HTTP. مع طلب 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 APIs في مَعلمات النظام.