يعرض هذا المستند كيفية إجراء المهام التالية في صفحة فيسبوك:
يفترض هذا الدليل أنك قرأت نظرة عامة حول واجهة API الصفحات.
بالنسبة إلى الشخص الذي يمكنه إجراء المهام في الصفحة، يجب تنفيذ تسجيل دخول فيسبوك للأعمال لطلب الأذونات التالية وتلقي رمز وصول المستخدم أو الصفحة:
pages_manage_engagementpages_manage_metadatapages_manage_postspages_read_engagementpages_read_user_engagementpages_show_listpublish_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/v24.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/v24.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/v24.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/v24.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 أو negativereview_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/v24.0/page_id/blocked"
-H "Content-Type: application/json" \
-d '{
"user":"psid_to_block",
}'
عند نجاح العملية، يتلقى التطبيق استجابة JSON مع تعيين المعرف على مستوى الصفحة على true.
{
"psid_to_block": true
}
تعرف على كيفية نشر الروابط والصور ومقاطع الفيديو على الصفحة.