يعرض هذا المستند كيفية إجراء المهام التالية في صفحة فيسبوك:
يفترض هذا الدليل أنك قرأت نظرة عامة حول واجهة 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
وتعيينها على رمز الوصول. مع ذلك، عند إجراء استدعاءات آمنة من التطبيق، استخدم فئة رمز الوصول.
يمكن أن يمنحك استدعاء 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 تغييرات على تفاصيل الصفحة، مثل إصلاح خطأ إملائي أو تحديث الفئات في الصفحة لمساعدة الأشخاص في العثور على الصفحة بشكل أفضل. للحصول على هذه الإشعارات، يجب الاشتراك في حدث 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 }
تعرف على كيفية نشر الروابط والصور ومقاطع الفيديو على الصفحة.