إدارة صفحة

يعرض هذا المستند كيفية إجراء المهام التالية في صفحة فيسبوك:

  • احصل على قائمة بالصفحات التي يمكنك تنفيذ مهمة عليها بما في ذلك:
    • المهام المحددة التي يمكنك تنفيذها على كل صفحة
    • رموز وصول الصفحة لكل صفحة يمكنك استخدامها لاختبار استدعاءات API
  • الحصول على تفاصيل الصفحة وتحديثها
  • الحصول على إعدادات الصفحة وتحديثها
  • الحصول على إشعارات حول التغييرات المقترحة التي ستعمل Meta على تنفيذها في الصفحة
    • قبول هذه التغييرات المقترحة أو رفضها
  • الحصول على مراجعات للصفحة
  • حظر الشخص من الصفحة

قبل البدء

يفترض هذا الدليل أنك قرأت نظرة عامة حول واجهة API الصفحات.

بالنسبة إلى الشخص الذي يمكنه إجراء المهام في الصفحة، يجب تنفيذ تسجيل دخول فيسبوك لطلب الأذونات التالية وتلقي رمز وصول المستخدم أو الصفحة:

  • pages_manage_engagement
  • pages_manage_metadata
  • pages_manage_posts
  • pages_read_engagement
  • pages_read_user_engagement
  • pages_show_list
  • الإذن publish_video، إذا كنت تنشر فيديو في الصفحة

إذا كنت مستخدم نظام نشاط تجاري في طلبات API، فإن الإذن business_management مطلوب.

يجب أن يتمكن مستخدم التطبيق من تنفيذ المهام CREATE_CONTENT وMANAGE و/أو MODERATE في الصفحة ضمن طلبات API.

أفضل الممارسات

عند اختبار استدعاء API، يمكنك تضمين المعلمة access_token وتعيينها على رمز الوصول. مع ذلك، عند إجراء استدعاءات آمنة من التطبيق، استخدم فئة رمز الوصول.

تم التنسيق أمثلة الطلبات لإمكانية القراءة. استبدل القيم الغامقة والمائلة، مثل page_id بالقيم المتوفرة لديك.

الصفحات والمهام والرموز

يمكن أن يمنحك استدعاء API واحد الكثير من المعلومات للصفحات التي يمكنك تنفيذ مهمة فيها.

الحصول على الصفحات

للحصول على قائمة بكل الصفحات التي يمكنك إجراء مهام فيها، والمهام التي يمكنك إجراؤها في كل صفحة ورمز وصول الصفحة قصير الأجل لكل صفحة، أرسل طلب GET إلى نقطة النهاية /user_id/accounts باستخدام رمز وصول المستخدم.

مثال على الطلب

curl -i -X GET 
     "https://graph.facebook.com/user_id/accounts"

عند نجاح العملية، سيتلقى التطبيق استجابة JSON تحتوي على مصفوفة من كائنات الصفحة. يحتوي كل كائن صفحة على ما يلي:

  • اسم الصفحة
  • معرف الصفحة
  • فئة الصفحة واسم الفئة والمعرف
  • رمز وصول الصفحة قصير الأجل
  • كل المهام التي يمكن للمستخدم إجراؤها في الصفحة

مثال على الاستجابة

{
  "data": [
    {
      "access_token": "{facebook-for-developers-page-access-token}",
      "category": "Internet Company",
      "category_list": [
        {
          "id": "2256",
          "name": "Internet Company"
        }
      ],
      "name": "Facebook for Developers",
      "id": "{facebook-for-developers-page-id}",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT"
      ]
    },
    {
      "access_token": "{my-outlandish-stories-page-access-token}",
      "category": "Blogger",
      "category_list": [
        {
          "id": "361282040719868",
          "name": "Blogger"
        }
      ],
      "name": "My Outlandish Stories",
      "id": "{my-outlandish-stories-page-id}",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    },
...
  ]
}

الحصول على مهام الآخرين

إذا كان يمكنك تنفيذ المهمة MANAGE في الصفحة، فيمكنك الحصول على قائمة بالأشخاص الآخرين الذين يمكنهم تنفيذ المهام في تلك الصفحة بما في ذلك المهام التي يمكن لكل شخص تنفيذها.

للحصول على قائمة بالأشخاص والمهام التي يمكنهم تنفيذها في الصفحة، أرسل طلب GET إلى نقطة النهاية /page_id/roles.

مثال على الطلب

curl -i -X GET "https://graph.facebook.com/page_id/roles"

عند نجاح العملية، يتلقى التطبيق استجابة JSON باسم الشخص والمعرف على مستوى الصفحة والمهام التي يمكن لكل شخص تنفيذها في الصفحة.

مثال على الاستجابة

{
  "data": [
    {
      "name": "Person One",
      "id": "page_scoped_id_for_one"
        "tasks": [
          "ANALYZE"
        ]
    },
    {
      "name": "Person Two",
      "id": "page_scoped_id_for_two",
      "tasks": [
        "ANALYZE",
        "ADVERTISE",
        "MODERATE",
        "CREATE_CONTENT",
        "MANAGE"
      ]
    },
...
  ],
}

تفاصيل الصفحة

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

الحصول على التفاصيل

للحصول على تفاصيل الصفحة، أرسل طلب GET إلى نقطة النهاية /page_id مع تعيين المعلمة fields على تفاصيل الصفحة التي تريد عرضها.

ملاحظة: يمكنك استخدام نقطة النهاية /pages/search للبحث عن معرفات الصفحات عند استخدام ميزة الوصول إلى المحتوى العام للصفحة.

مثال على الطلب

curl -i -X GET "https://graph.facebook.com/page_id \
     ?fields=about,attire,bio,location,parking,hours,emails,website"

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

تفاصيل التحديث

إذا كان يمكنك تنفيذ المهمة MANAGE في الصفحة، فيمكنك استخدام رمز وصول الصفحة لإرسال طلب POST إلى نقطة النهاية /page_id مع تضمين المعلمات التي تريد تحديثها، مثل المعلمة about.

مثال على الطلب

curl -i -X POST "https://graph.facebook.com/v21.0/page_id" \
     -H "Content-Type: application/json" \
     -d '{
           "about":"This is an awesome cafe located downtown!",
         }'

عند نجاح العملية، سيتلقى التطبيق استجابة JSON مع تعيين success على true.

التغييرات المقترحة من Meta

في بعض الأوقات، ستقترح Meta تغييرات على تفاصيل الصفحة، مثل إصلاح خطأ إملائي أو تحديث الفئات في الصفحة لمساعدة الأشخاص في العثور على الصفحة بشكل أفضل. للحصول على هذه الإشعارات، يجب الاشتراك في حدث webhook page_upcoming_change و/أو page_change_proposal.

بمجرد تلقي الإشعار، يمكنك إجراء أحد ما يلي:

  • ألا تتخذ أي إجراء وسيتم تنفيذ التغييرات عند الوقت المحدد في الإشعار
  • قبول التغييرات فعليًا وسيتم تنفيذ التغييرات على الفور
  • رفض التغييرات فعليًا ولن يتم إجراء أي تغييرات

قبول التغيير المقترح أو رفضه

لقبول التغيير المقترح أو رفضه فعليًا، أرسل طلب POST إلى نقطة النهاية /page_change_proposal_id مع تعيين الحقل accept على true لقبول التغيير أو false لرفضه. يكون page_change_proposal_id هو القيمة proposal.id التي تلقيتها في إشعار حدث webhook page_upcoming_change أو القيمة value.id التي تلقيتها في إشعار حدث webhook page_change_proposal.

curl -i -X POST "https://graph.facebook.com/v21.0/page_change_proposal_id" \
     -H "Content-Type: application/json" \
     -d '{
           "accept":"true",
         }'

عند نجاح العملية، يتلقى التطبيق استجابة JSON مع تعيين success على true.

إعدادات الصفحة

إذا كان يمكنك إجراء المهمة MANAGE في الصفحة، فيمكنك استخدام رمز وصول الصفحة لإرسال طلب GET إلى نقطة النهاية /page_id/settings للحصول على قائمة بكل الإعدادات لتلك الصفحة.

مثال على الطلب

curl -i -X GET "https://graph.facebook.com/v21.0/page_id/settings"

عند نجاح العملية، سيتلقى التطبيق استجابة JSON بمصفوفة كائنات حيث يكون كل كائن عبارة عن setting الذي تم تعيينه على إعداد الصفحة وتكون القيمة true أو false.

مثال على الاستجابة

{
  "data": [
    {
      "setting": "USERS_CAN_POST",
      "value": false
    },
    {
      "setting": "USERS_CAN_MESSAGE",
      "value": true
    },
    {
      "setting": "USERS_CAN_POST_PHOTOS",
      "value": true
    },
    ...
  ]
}

تحديث إعداد

لتحديث إعدادات الصفحة، أرسل طلب POST إلى نقطة النهاية /page_id/settings مع تعيين المعلمة option على الإعداد الذي تريد تحديثه.

مثال على الطلب

curl -i -X POST "https://graph.facebook.com/v21.0/page_id/settings" \
     -H "Content-Type: application/json" \
     -d '{
           "option":{"USERS_CAN_MESSAGE": "true"},
         }'

عند نجاح العملية، يتلقى التطبيق استجابة JSON مع تعيين success على true.

الحصول على المراجعات

يمكنك الحصول على مراجعات للصفحة، بما في ذلك اسم المراجع والمعرف على مستوى الصفحة وما إذا كانت توصية إيجابية أو سلبية ونص المراجعة، ويمكنك إرسال طلب GET إلى نقطة النهاية /page_id/ratings.

مثال على الطلب

curl -i -X GET "https://graph.facebook.com/page_id/ratings" 

عند نجاح العملية، يتلقى التطبيق مصفوفة JSON بكائنات المراجعة. يحتوي كل كائن على ما يلي:

  • created_time تم تعيينه على وقت إنشاء المراجعة،
  • recommendation_type تم تعيينه على positive أو negative
  • review_text تم تعيينه على محتوى المراجعة
  • كائن reviewer يتضمن name وid للشخص الذي كتب تلك المراجعة
{
  "data": [
    {
      "created_time": "unixtimestamp",
      "recommendation_type": "positive",
      "review_text": "I love this page!",
      "reviewer": {
        "name": "Person One",
        "id": "psid_for_one"
      }
    },
    {
      "created_time": "unixtimestamp",
      "recommendation_type": "positive",
      "review_text": "This page is wonderful!",
      "reviewer": {
        "name": "Person Two",
        "id": "psid_for_two"
      }
    },
...
  ]
}

حظر الشخص

لحظر شخص من التعليق على الصفحة، أرسل طلب POST إلى نقطة النهاية /page_id/blocked مع تعيين المعلمة user على المعرف على مستوى الصفحة للشخص الذي تريد حظره.

مثال على الطلب

curl -i -X POST "https://graph.facebook.com/v21.0/page_id/blocked"
     -H "Content-Type: application/json" \
     -d '{
           "user":"psid_to_block",
         }'

عند نجاح العملية، يتلقى التطبيق استجابة JSON مع تعيين المعرف على مستوى الصفحة على true.

{
 "psid_to_block": true
}

الخطوات التالية

تعرف على كيفية نشر الروابط والصور ومقاطع الفيديو على الصفحة.