إصدار ‏‎Graph API‎‏

موجز الصفحة

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

راجع أيضًا

القراءة

منشورات صفحة Facebook.

تجربة الصفحة الجديدة

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

المتطلبات

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

  • CREATE_CONTENT – نشر محتوى باسم الصفحة على الصفحة
  • MANAGE – تعيين مهام الصفحة وإدارتها
  • MODERATE
    • الرد على التعليقات على منشورات الصفحة باسم الصفحة
    • حذف التعليقات على منشورات الصفحة
    • إذا كان حساب Instagram مرتبطًا بالصفحة، فيمكنك نشر المحتوى على Instagram من فيسبوك، والرد على التعليقات وحذفها، وإرسال رسائل مباشرة ومزامنة معلومات جهة اتصال النشاط التجاري وإنشاء الإعلانات.

ومنح الأذونات التالية المطلوبة للتطبيق:

إذا كنت لا تملك الصفحة أو تديرها، فستحتاج إلى ما يلي:

عند استخدام ميزة الوصول إلى المحتوى العام للصفحة، استخدم رمز وصول مستخدم النظام لتجنب مشكلات تقييد معدلات الاستدعاء.

عينة من الطلب

مستكشف Graph API
GET /v21.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->get(
    '/{page-id}/feed',
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{page-id}/feed",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/feed",
    null,
    HttpMethod.GET,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/feed"
                                      parameters:params
                                      HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

عينة من استجابة JSON

{
  "data": [
    {
      "created_time": "2019-05-17T16:24:04+0000",
      "message": "Become a Facebook developer!",
      "id": "{page-id}_2191966997525824"
    },
    {
      "created_time": "2019-02-26T21:35:42+0000",
      "message": "Hello world!",
      "id": "{page-id}_2072371269485398"
    },
...
    {
      "created_time": "2018-01-26T20:57:22+0000",
      "message": "Friday Funday!",
      "id": "{page-id}_1569752556413941"
    }
  ],
  "paging": {
    "cursors": {
      "before": "Q2c4U1pXNT...",
      "after": "Q2c4U1pXNT..."
    },
    "next": "https://graph.facebook.com/vX.X/{page-id}/feed?access_token={your-page-access-token}&pretty=0&limit=25&after=Q2c4U1pXNT..."
  }
}

التقييدات

  • المنشورات المنتهية الصلاحية - إذا انتهت صلاحية منشور ما، فلن تتمكن بعد الآن من عرض المحتوى باستخدام Graph API.
  • الحد الأقصى للمنشورات
    • سترجع واجهة API ما يقرب من 600 منشور تم تصنيفه ونشره سنويًا.
    • لا يمكنك سوى قراءة 100 منشور كحد أقصى من منشورات الموجز من خلال الحقل limit. وإذا كنت تحاول قراءة أكثر من هذا الحد، فستتلقى رسالة خطأ حتى لا تتجاوز 100 منشور.
  • الزر "مراسلة" للدعوة لاتخاذ إجراء - لا يمكن الوصول إلى المنشورات التي تتضمن الزر "مراسلة" للدعوة لاتخاذ إجراء باستخدام رمز وصول صفحة أخرى نظرًا لأنه لا يمكن للصفحات مراسلة الصفحات الأخرى.
  • المعلومات التي يمكن تحديدها للعامة - لن يتم تضمين معلومات المستخدم في الاستجابات ما لم تقدم الطلب باستخدام رمز وصول الصفحة.
  • المنشورات المنشورة - سيتم إرجاع المنشورات التي تم نشرها وغير المنشورة عند الاستعلام عن نقطة النهاية `/{page-id}/feed`. استخدم الحقل 'is_published` لإرجاع المنشورات التي تم نشرها فقط.
  • المنشورات التي تتم مشاركتها - قد لا يكون منشور الصفحة التي تشارك منشورًا من صفحة أخرى أو من شخص آخر مرئيًا إذا لم يكن المنشور الأصلي معروضًا برمز الوصول المُستخدم.
  • المنشورات المُشار إليها - عندما تستخدم /{page-id}/tagged لعرض المنشورات التي تقوم بالإشارة إلى هذه الصفحة، تتضمن النتائج منشورات من صفحات أخرى فقط إذا كانت هذه الصفحات موثوقة.
  • وكلاء المستخدمين - يخضع وكلاء المستخدمين المتوفرون والمسموح لهم بإجراء استدعاءات واجهة Graph API هذه إلى التغيير بدون إشعار. إذا كنت تواجه مشكلات، فقد ترغب في التغيير إلى إصدار أحدث لوكيل المستخدم المحدد لديك.
  • منشورات الفيديو - للحصول على قائمة منشورات الفيديو، يجب أن يكون الشخص الذي يقدم الطلب مسؤولاً في الصفحة.
  • ريلز - للحصول على قائمة ريلز المنشورة في الصفحة، استخدم عنصر ربط VideoReels للصفحة.

تقييد: سيتم سحب كل المنشورات (المنشورة وغير المنشورة) في نقطة نهاية الموجز. الاختلاف الوحيد هو أنه لن يتم إدراج المنشورات غير المنشورة في الموجز الفعلي. ومع ذلك، يوجد حقل is_published يمكن إضافته إلى نقطة النهاية /feed لإعلام المطوّرين إذا كان المنشور المدرج في نقطة النهاية /feed منشورًا أم لا

الحقول

الاسمالنوعالوصف
idstring

يمثل معرف المنشور.

actionsobject

يمثل روابط الإجراءات المرتبطة بالتعليق على المنشور أو تسجيل الإعجاب به أو مشاركته.

admin_creatorobject

يمثل منشئ محتوى منشور الصفحة الذي يتمتع بدور المسؤول. إذا كانت الصفحة لديها مسؤول واحد فقط، فلن يتم إرجاع أي بيانات. ويتطلب ذلك الحصول على رمز وصول الصفحة والإذن business_management.

idint

يمثل معرف الشخص أو التطبيق أو النشاط التجاري.

namestring

يمثل اسم الشخص أو التطبيق أو النشاط التجاري.

allowed_advertising_objectsstring

يمثل الأهداف الوحيدة التي يمكن من خلالها الإعلان عن هذا المنشور.

applicationobject

يمثل معلومات حول التطبيق الذي نشر هذا المنشور.

attachmentsobject

يمثل أي مرفقات مرتبطة بالحدث. يمكنك الرجوع إلى مرجع عقدة مرفق الحدث لحقول attachments.

backdated_timefloat

يمثل الوقت المؤرخ بتاريخ سابق لمنشور بتاريخ سابق. وبالنسبة للمنشور العادي، يتم تعيين هذا الحقل إلى قيمة فارغة.

call_to_actionobject

يمثل نوع الدعوة لاتخاذ إجراء المُستخدم في أي منشورات صفحات لإعلانات تفاعل تطبيقات الهواتف المحمولة.

contextobject

يمثل نوع الدعوة لاتخاذ إجراء المُستخدم في أي منشورات صفحات لإعلانات تفاعل تطبيقات الهواتف المحمولة.

can_reply_privatelyboolean

يشير إلى ما إذا كان يمكن لمشاهد الصفحة إرسال رد خاص على هذا المنشور أم لا. ويلزم توفير الإذن read_page_mailboxes.

caption

تم إيقاف استخدامه لمنشورات الصفحة في الإصدار 3.3 والإصدارات الأحدث.

string

يمثل الشرح التوضيحي للرابط في المنشور الذي يظهر أسفل name. ويجب أن يكون caption عنوان URL فعليًا ويعكس بدقة عنوان URL والمعلن المرتبط أو النشاط التجاري الذي يزوره شخص ما عند النقر على عنوان URL.

child_attachmentsobject

يمثل المشاركات الفرعية لمنشور المشاركة متعدد الروابط.

created_timefloat

يمثل وقت نشر المنشور لأول مرة. وبالنسبة لمنشور حول مناسبة شخصية، يكون ذلك هو تاريخ ووقت المناسبة الشخصية.

description

تم إيقاف استخدامه لمنشورات الصفحة في الإصدار 3.3 والإصدارات الأحدث. استخدم attachments{description} بدلاً من ذلك.

string

يمثل وصف الرابط في المنشور (يظهر أسفل caption).

feed_targetingobject

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

age_maxint

يمثل الحد الأقصى للعمر

age_minint

يجب أن يكون 13 أو أكثر. القيمة الافتراضية هي 0

citiesint

يمثل قيم استهداف المدن. استخدم type الخاص بـ adcity للعثور على خيارات الاستهداف واستخدم key الذي يتم إرجاعه بغرض التحديد.

college_yearsint

يمثل مصفوفة بالأعداد الصحيحة لسنة التخرج من الكلية.

countriesstring

يمثل قيم استهداف البلدان. ويمكنك تحديد 25 بلدًا كحد أقصى. استخدم رموز تنسيق ISO 3166.

education_statusesint

يمثل مصفوفة تضم أعدادًا صحيحة للاستهداف استنادًا إلى المستوى التعليمي. استخدم 1 للمدرسة الثانوية و2 للطالب الجامعي و3 لخريج الجامعة (أو المكافئات المحلية).

gendersint

يمكن استهداف جنس معين. وتستهدف القيمة 1 جميع المشاهدين الذكور، بينما تستهدف القيمة 2 المشاهدات الإناث. ويتم استهداف الجنسين افتراضيًا.

interested_in

تم إيقاف استخدامه.

intيشير إلى الاستهداف استنادًا إلى الحقل "مهتم بـ" في الملف الشخصي للمستخدم. يمكنك تحديد عدد صحيح مثل الرقم 1 للإشارة إلى الذكر، والرقم 2 للإشارة إلى الأنثى. ويتم التعيين افتراضيًا إلى جميع الأنواع. يرجى ملاحظة أن الاستهداف بالحقل "مهتم بـ" غير متوفر في معظم البلدان الأوروبية وكندا بسبب القوانين المحلية.
interestsint

يمثل معرف واحد أو أكثر للصفحات لاستهداف مُعجَبي الصفحات. استخدم نوع الصفحة للحصول على المعرفات المحتملة كخيارات استهداف واستخدم المعرف الذي يتم إرجاعه بغرض التحديد.

localesint

يمثل اللغات المحلية المُستهدفة. استخدم type الخاص بـ adlocaleللعثور على خيارات الاستهداف واستخدم key الذي يتم إرجاعه بغرض التحديد.

regionsarray

يمثل قيم استهداف المناطق. استخدم type الخاص بـ adregion للعثور على خيارات الاستهداف واستخدم key الذي يتم إرجاعه بغرض التحديد.

relationship_statusesint

يمثل مصفوفة تضم أعدادًا صحيحة للاستهداف استنادًا إلى الحالة الاجتماعية. استخدم 1 للأعزب و2 للحالة "في علاقة" و3 للمتزوج و4 للخاطب. ويتم التعيين افتراضيًا إلى جميع الأنواع.

from

object

يمثل name أو id للصفحة أو المجموعة أو الحدث الذي أنشأ المنشور. وإذا قرأت هذا الحقل من خلال رمز وصول مستخدم، فسيقوم بإرجاع المستخدم الحالي فقط.

full_picturestring

يمثل عنوان URL لنسخة بالحجم الكامل من الصورة المنشورة في المنشور أو المُستخلصة من رابط ما في المنشور. وإذا تجاوز أكبر بُعد للصورة 720 بكسل، فسيتم تغيير حجمه، مع تعيين البُعد الأكبر على 720.

iconstring

يمثل رابط ينقلك إلى أيقونة تمثل نوع هذا المنشور.

instagram_eligibilityenum{}

يشير إلى ما إذا كان يمكن ترويج المنشور على Instagram أم لا. ويتم إرجاع التعداد eligible إذا كان من الممكن ترويجه. وبخلاف ذلك، يتم إرجاع تعداد يوضح سبب عدم إمكانية الترويج:

  • ineligible_caption_mentions_not_allowed
  • ineligible_caption_too_long
  • ineligible_media_aspect_ratio
  • ineligible_media_dimension
  • ineligible_media_square_aspect_ratio
  • ineligible_media_square_dimension
  • ineligible_post_type
  • ineligible_unknown_error
  • ineligible_video_length
is_eligible_for_promotionboolean

يشير إلى ما إذا كان المنشور مؤهلاً للترويج أم لا.

is_expiredboolean

يشير إلى ما إذا كانت انقضت فترة انتهاء صلاحية المنشور أم لا.

is_hiddenboolean

يشير إلى ما إذا تم تحديد هذا المنشور كمخفي (ينطبق على الصفحات فقط). وعند إخفاء أحد المنشورات، يتم إخفاؤه في يوميات الصفحة، ولكنه يظل مرئيًا في الأماكن الأخرى على فيسبوك، مثل رابط.

is_instagram_eligiblestring

يشير إلى ما إذا كان يمكن ترويج هذا المنشور على Instagram أم لا.

is_popularboolean

يشير إلى ما إذا كان المنشور رائجًا أم لا. وذلك استنادًا إلى ما إذا كان إجمالي الإجراءات كنسبة مئوية من الوصول يتجاوز حدًا معينًا.

is_publishedboolean

يشير إلى ما إذا تم نشر المنشور المجدول أم لا (ينطبق على منشور الصفحة المجدول فقط، وبالنسبة لمنشور المستخدمين والمنشورات المنشورة بشكل فوري، تكون هذه القيمة دائمًا true). لاحظ أن هذه القيمة تكون دائمًا false في منشورات الصفحات التي تم إنشاؤها كجزء من عملية إنشاء الإعلانات.

is_sphericalboolean

يشير إلى ما إذا كان المنشور عبارة عن منشور فيديو بتنسيق كروي أم لا.

link

تم إيقاف استخدامه لمنشورات الصفحة في الإصدار 3.3 والإصدارات الأحدث.

استخدم attachments{unshimmed_url} بدلاً من ذلك.

string

يمثل الرابط المرفق بهذا المنشور.

messagestring

يمثل رسالة الحالة في المنشور.

message_tagsarray

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

lengthint

يمثل طول نص الإشارة في نقاط الرموز البرمجية لـ unicode.

idstring

يمثل معرف الملف الشخصي الذي تمت الإشارة إليه.

namestring

يمثل النص المُستخدم للإشارة إلى الملف الشخصي.

offsetint

يمثل الموقع في نقاط الرموز البرمجية لـ unicode للحرف الأول من نص الإشارة في message.

typeenum{}

يمثل نوع الملف الشخصي الذي تمت الإشارة إليه سواء user أو page أو group.

name

تم إيقاف استخدامه لمنشورات الصفحة في الإصدار 3.3 والإصدارات الأحدث.

استخدم attachments{title} بدلاً من ذلك.

string

يمثل اسم الرابط link.

object_id

تم إيقاف استخدامه لمنشورات الصفحة في الإصدار 3.3 والإصدارات الأحدث.

استخدم attachments{target{id}} بدلاً من ذلك.

string

يمثل معرف أي صورة تم تحميلها أو مقطع فيديو مرفق بالمنشور.

parent_idstring

يمثل معرف المنشور الأصل لهذا المنشور، إذا كان موجودًا. على سبيل المثال، إذا كان هذا الحدث هو الحدث "تم ذكر صفحتك في منشور"، فيكون parent_id هو المنشور الأصل حيث تم ذكر صفحتك.

permalink_urlstring

يمثل عنوان URL الثابت والدائم للمنشور على www.facebook.com. مثال: https://www.facebook.com/FacebookForDevelopers/posts/10153449196353553.

placestring

يمثل معرف المكان المرتبط بهذا المنشور.

privacyobject

يمثل إعدادات الخصوصية في المنشور.

allowstring

إذا كانت value بالقيمة CUSTOM، فستكون هذه قائمة معرفات مفصولة بفاصلة تضم المستخدمين وقوائم الأصدقاء (إن وجدت) الذين يمكنهم رؤية المنشور.

denystring

إذا كانت value بالقيمة CUSTOM، فستكون هذه قائمة معرفات مفصولة بفاصلة تضم المستخدمين وقوائم الأصدقاء (إن وجدت) الذين لا يمكنهم رؤية المنشور.

descriptionstring

يمثل نصًا يصف إعدادات الخصوصية كما ستظهر في فيسبوك.

friendsenum{}

إذا كانت value بالقيمة CUSTOM، فيشير ذلك إلى مجموعة الأصدقاء الذين يمكنهم رؤية المنشور. وتتضمن القيم ما يلي:

  • ALL_FRIENDS
  • FRIENDS_OF_FRIENDS
  • SOME_FRIENDS
valueenum{}

إعداد الخصوصية الفعلي. وتتضمن القيم ما يلي:

  • ALL_FRIENDS
  • CUSTOM
  • EVERYONE
  • FRIENDS_OF_FRIENDS
  • SELF
promotable_idstring

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

promotion_eligibility

تم إيقاف استخدامه. راجع: is_eligible_for_promotion.

booleanيشير إلى ما إذا كان المنشور مؤهلاً للترويج أم لا.
promotion_status

تم إيقاف استخدامه. راجع: is_eligible_for_promotion.

stringيمثل حالة الترويج. ويلزم توفير امتيازات مسؤول الصفحة. القيم الممكنة:
activeيشير إلى أن الترويج قيد العمل حاليًا.
draftيشير إلى أن الترويج لا يزال في وضع المسودة.
extendableيشير إلى أن الحملة الإعلانية للترويج قد انتهت، ولكن يمكن إعادة تشغيلها.
finishedيشير إلى انتهاء الترويج.
inactiveيشير إلى عدم وجود أي ترويج نشط.
ineligible

يشير إلى أن المنشور غير مؤهل للترويج. تعرف على السبب وراء احتمالية أن يكون المنشور غير مؤهل.

pausedيشير إلى أنه تم إيقاف الترويج مؤقتًا.
pendingيشير إلى أن الترويج لا يزال قيد المراجعة.
rejectedيشير إلى أنه تم رفض الترويج خلال عملية المراجعة.
propertiesobject

يمثل قائمة تضم خصائص أي فيديو مرفق، على سبيل المثال، مدة الفيديو.

namestring

يمثل اسم الخاصية.

textstring

يمثل قيمة الخاصية.

hrefstring

يمثل أي رابط مرتبط بالخاصية.

sheduled_publish_timefloat

يمثل طابعًا زمنيًا بتنسيق UNIX لوقت النشر المجدول للمنشور.

sharesobject

يمثل عدد مشاركات هذا المنشور. قد يتضمن عدد المشاركات المنشورات المحذوفة والمنشورات التي لا يمكنك رؤيتها لأسباب تتعلق بالخصوصية.

source

تم إيقاف استخدامه لمنشورات الصفحة في الإصدار 3.3 والإصدارات الأحدث.

استخدم attachments{media{source}} بدلاً من ذلك.

string

يمثل عنوان URL لأي فيلم Flash أو ملف فيديو مرفق بالمنشور.

status_typeenum{}

يمثل نوع تحديث الحالة. وتتضمن القيم ما يلي:

  • added_photos
  • added_video
  • app_created_story
  • approved_friend
  • created_event
  • created_group
  • created_note
  • mobile_status_update
  • published_story
  • shared_story
  • tagged_in_photo
  • wall_post
storystring

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

story_tagsarray

يمثل قائمة بالإشارات الموجودة في وصف المنشور.

subscribedboolean

يشير إلى ما إذا كان المستخدم مشتركًا في المنشور أم لا.

targetingobject

يمثل الكائن الذي يقيد الجمهور في هذا المحتوى. لا يمكن مشاهدة هذا المحتوى إلا من قِبل الجماهير الموجودة في نطاق المعلومات الديموغرافية المحددة. وتتسم المعلومات الديموغرافية بأنها تراكمية. فكل قيمة إضافية تضيف جمهورها إلى الجمهور المستهدف التراكمي. ولا تتجاوز هذه القيم أي تقييدات للمعلومات الديموغرافية على مستوى الصفحة قد تكون محددة.

countriesstring

يمثل قيم استهداف البلدان، مثل رموز بتنسيق ISO 3166.

localesint

يمثل اللغات المحلية المُستهدفة. قد يتم إرجاع خيارات الاستهداف من النوع adlocale.

regionslist<int>

يمثل قيم المناطق المستهدفة. قد يتم إرجاع خيارات الاستهداف من النوع adregion.

citieslist<int>

يمثل قيم المدن المُستثناة. قد يتم إرجاع خيارات الاستهداف من النوع adcity.

to

object

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

type

تم إيقاف استخدامه لمنشورات الصفحة في الإصدار 3.3 والإصدارات الأحدث.

استخدم attachments{media_type} بدلاً من ذلك. في حالة عدم وجود attachments أو media_type=link، فستتطابق القيمة مع type=status.

enum{}

يمثل سلسلة تشير إلى نوع الكائن في هذا المنشور. وتتضمن قيم enum ما يلي:

  • link
  • offer
  • photo
  • status
  • video
updated_timefloat

يمثل وقت آخر تحديث للمنشور الذي يشير إلى وقت إنشاء المنشور أو تحريره أو تعليق المستخدم على منشور، ويظهر كطابع زمني بتنسيق UNIX.

video_buying_eligibilityarray

يشير إلى ما إذا كان من الممكن الترويج للمنشور بخيارات شراء فيديو مختلفة. ويتم إرجاع قائمة فارغة عندما يكون الفيديو مؤهلاً. بخلاف ذلك، يتم إرجاع قائمة بأسباب عدم إمكانية الترويج للمنشور.

with_tags

object

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


سيتم إيقاف استخدام نقطة النهاية هذه في 30 أبريل 2019 بالنسبة للإصدار 3.3 والإصدارات الأحدث لواجهة Graph API وواجهة API التسويق. ويمكن للتطبيقات، التي استخدمت نقطة النهاية هذه خلال آخر 90 يومًا، متابعة استخدامها مع الإصدار 3.2 والإصدارات الأقدم لواجهة API حتى 30 يوليو 2019. سيتعذر على التطبيقات التي لم تستخدم نقطة النهاية هذه خلال آخر 90 يومًا، استخدامها اعتبارًا من 30 أبريل 2019.

المعرفات القابلة للترويج

عند العثور على منشورات يمكن ترويجها، يجب استخدام promotable_id لإنشاء الإعلانات. في معظم الحالات، سيكون هذا المعرف مماثلاً لمعرف post_id. ومع ذلك، هذا ليس هو الحال دائما. ملاحظة: بمجرد ترويج المنشور، يجب الحصول على إمكانية الوصول إلى الحساب الإعلاني المتصل من أجل تعديل المنشور.

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

curl -i -X GET \
 "https://graph.facebook.com/{your-page-id}/feed
    ?fields=is_eligible_for_promotion,promotable_id
        &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{your-page-id}/feed",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "is_eligible_for_promotion,promotable_id");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"fields": @"is_eligible_for_promotion,promotable_id",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'GET',
  {"fields":"is_eligible_for_promotion,promotable_id"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{your-page-id}/feed?fields=is_eligible_for_promotion,promotable_id',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

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

{
  "data": [
    {
      "is_eligible_for_promotion": true,
      "promotable_id": "1353269864728879_1943344825721377",
      "id": "1353269864728879_1943344825721377"
    },
    {
      "is_eligible_for_promotion": true,
      "promotable_id": "1353269864728879_1943313139057879",
      "id": "1353269864728879_1943378089051384"
    },
    {
      "is_eligible_for_promotion": false,
      "promotable_id": "1353269864728879_1942095249179668",
      "id": "1353269864728879_1942095249179668"
    },
...

يُرجى زيارة مركز المساعدة لدينا لمعرفة سبب عدم إمكانية ترويج أحد المنشورات.

يُرجى زيارة الوثائق المرجعية للمنشور لمعرفة جميع حقول المنشورات المتوفرة.

النشر

يمكنك النشر على الصفحات باستخدام عنصر الربط هذا. يتعين توفير link أو message.

تجربة الصفحة الجديدة

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

المتطلبات

إذا كان بإمكانك تنفيذ المهمة CREATE_CONTENT، فستحتاج إلى ما يلي:

ستظهر المنشورات باسم الصفحة.

الأذونات

ملاحظة: إذا لم يتمكّن المشاهد أو التطبيق من عرض عنوان url للرابط link، فسيفشل نشر هذا المنشور.

POST /v21.0/{page-id}/feed HTTP/1.1
Host: graph.facebook.com

message=This+is+a+test+message
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{page-id}/feed',
    array (
      'message' => 'This is a test message',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/{page-id}/feed",
    "POST",
    {
        "message": "This is a test message"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("message", "This is a test message");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{page-id}/feed",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"message": @"This is a test message",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{page-id}/feed"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

الاستجابة

{"id":"post-id"}

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

مثال على أداة مستكشف Graph

الاختبار في أداة مستكشف Graph باستخدام POST {page-id}/feed:

الحقول

الاسمالنوعالوصف
actionsarray

يمثل روابط الإجراءات المرفقة بالمنشور.

linkstring

عنوان URL لرابط الإجراء نفسه.

namestring

اسم أو تسمية رابط الإجراء.

backdated_timefloat

يمكن تحديد وقت في الماضي لتأريخ هذا المنشور بتاريخ سابق.

backdated_time_granularityenum{year, month, day, hour, minute}

يمكن التحكم في عرض طريقة ظهور منشور مؤرخ بتاريخ سابق. فعلى سبيل المثال، إذا اخترت month، فسيتم عرض المنشورات بتاريخ 2 months ago بدلاً من تاريخ محدد.

child_attachments

object (كائن)

يمكن استخدامه لتحديد روابط متعددة في المنشور. بحد أدنى كائنين وبحد أقصى 5 كائنات. وإذا تم تعيين

multi_share_optimized

على القيمة true، فيمكنك تحميل 10 كائنات كحد أقصى ولكن سيعرض فيسبوك أبرز 5.

descriptionstring

يُستخدم لعرض السعر أو الخصم أو نطاق موقع الويب. وإذا لم يتم تحديده، فيتم استخلاص محتوى الصفحة المرتبطة واستخدامه. سيتم عادة اقتطاع هذا الحقل بعد 30 حرفًا.

image_hashstring

يمكن تجزئة صورة المعاينة المرتبطة بالرابط من مكتبة صور الإعلانات لديك (بنسبة عرض إلى ارتفاع 1:1 وبحد أدنى للدقة تبلغ ‎458 x 458 بيكسل للحصول على أفضل عرض). كما يجب تحديد picture أو image_hash.

linkstring

عنوان URL للرابط المطلوب إرفاقه بالمنشور. هذا الحقل إلزامي.

namestring

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

picturestring

عنوان URL الذي يحدد صورة المعاينة المرتبطة بالرابط (بنسبة عرض إلى ارتفاع 1:1 وبحد أدنى للدقة تبلغ ‎458 x 458 بيكسل للحصول على أفضل عرض). كما يجب تحديد picture أو image_hash.

feed_targetingobject

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

age_maxint

يمثل الحد الأقصى للعمر. يجب أن يكون 65 أو أقل.

age_minint

يجب أن يكون 13 أو أكثر. القيمة الافتراضية هي 0.

college_yearsint[]

مصفوفة بالأعداد الصحيحة لسنة التخرج من الكلية.

education_statusesint[]

مصفوفة أعداد صحيحة للاستهداف استنادًا إلى المستوى التعليمي. استخدم 1 للمدرسة الثانوية و2 للطالب الجامعي و3 لخريج الجامعة (أو المكافئات المحلية).

genderslist<unsigned int32>

يمكن استهداف جنس معين. وتستهدف القيمة 1 جميع المشاهدين الذكور، بينما تستهدف القيمة 2 المشاهدات الإناث. ويتم استهداف الجنسين افتراضيًا.

geo_locationsobject

يتيح لك هذا الكائن تحديد عدد من المواقع الجغرافية المختلفة. يُرجى الاطلاع على دليل الاستهداف الذي نوفره للحصول على معلومات حول هذا الكائن.

interestsint[]

معرف واحد أو أكثر لاستهداف المُعجَبين. استخدم type=audienceinterest للحصول على المعرفات المحتملة كخيارات استهداف واستخدم المعرف الذي يتم إرجاعه للتحديد.

localesint

اللغات المحلية المُستهدفة. استخدم type الخاص بـ adlocale للعثور على خيارات الاستهداف واستخدم key الذي يتم إرجاعه بغرض التحديد.

relationship_statuseslist<unsigned int32>

مصفوفة بالأعداد الصحيحة للاستهداف استنادًا إلى الحالة الاجتماعية. استخدم 1 للأعزب و2 للحالة "في علاقة" و3 للمتزوج و4 للخاطب. ويتم التعيين افتراضيًا إلى جميع الأنواع.

linkstring

عنوان URL للرابط المطلوب إرفاقه بالمنشور. يتعين توفير link أو message. يتم عرض الحقول الإضافية المرتبطة بـ link أدناه. راجع قسم الروابط المخصصة لمعرفة التقييدات.

descriptionstring

يستبدل الوصف في معاينة الرابط

namestring

يستبدل عنوان معاينة الرابط.

picturestring

يحدد صورة المعاينة المرتبطة بالرابط.

thumbnailfile

تتم معاينة الصورة المرتبطة بالرابط والتي تم تحميلها من جانبك.

messagestring

النص الأساسي للمنشور. يمكن أن تحتوي الرسالة على عمليات ذكر لصفحات فيسبوك، @[page-id].

multi_share_end_cardBoolean

في حالة التعيين على القيمة false، لا يتم عرض بطاقة إنهاء منشور رابط الإعلانات الدوّارة عند استخدام child_attachments. ويتم التعيين افتراضيًا على القيمة true.

multi_share_optimizedBoolean

في حالة التعيين على القيمة true وفقط عند استخدام المنشور في إعلان، سيحدد فيسبوك تلقائيًا ترتيب الروابط في child_attachments. وإلا، سيتم الحفاظ على الترتيب الأصلي لـ child_attachments. القيمة الافتراضية هي true.

object_attachmentstring

معرف فيسبوك لصورة حالية موجودة في ألبومات صور الشخص لاستخدامها كصورة مصغرة. ويتعين أن يكون مالك الصورة ولا يمكن أن تكون الصورة جزءًا من مرفق الرسالة.

placestring

معرف الصفحة لموقع مرتبط بهذا المنشور.

publishedBoolean

يمكن معرفة ما إذا كانت توجد قصة معروضة حول هذا الكائن المنشور حديثًا أم لا. القيمة الافتراضية هي true وهو ما يعني أن القصة معروضة في الموجز. هذا الحقل not مدعوم عند تحديد معلمة الإجراءات. ويمكن استخدام المنشورات غير المنشورة في الإعلانات.

scheduled_publish_timetimestamp

يشير الطابع الزمني بتنسيق UNIX إلى وقت نشر المنشور. ويجب أن يقع الوقت بين 10 دقائق و75 يومًا من وقت بدء طلب API.

tagscsv[string]

قائمة مفصولة بفاصلة تضم معرفات المستخدمين الخاصة بالأشخاص الذين تمت الإشارة إليهم في هذا المنشور. لا يمكنك تحديد هذا الحقل بدون تحديد place أيضًا.

targetingobject

يمثل الكائن الذي يقيد الجمهور في هذا المحتوى. لن يتمكّن أي شخص غير وارد في هذه المعلومات الديموغرافية من عرض هذا المحتوى. لن يؤدي ذلك إلى تجاوز أي تقييدات للمعلومات الديموغرافية على مستوى الصفحة والتي قد تكون محددة.

age_minint

يمكن أن تكون القيمة 13 أو 15 أو 18 أو 21 أو 25.

geo_locationsobject

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

إضافة شعور أو نشاط إلى منشور صفحة

أضف شعورًا أو نشاطًا وأيقونة إلى منشور صفحة. يلزم توفر og_action_type_id وog_object_id عند نشر شعور أو نشاط. ويكون og_icon_id اختياريًا، ومع ذلك، في حالة عدم استخدامه، سيتم توفير أيقونة تلقائيًا استنادًا إلى og_object_id.

الحقول

الاسم الوصف

og_action_type_id

إجراء، أي شعور، مشاهدة، ما إلى ذلك.

og_icon_id

أية أيقونة ربما تمثل نوع الإجراء، أي، وجه ضاحك، أيقونة فيلم، ما إلى ذلك.

og_object_id

هدف الإجراء، أي سعيد، فيلم، ما إلى ذلك. يمكن أن يكون ذلك عبارة عن كائن محدد مسبقًا أو أي page_id.

منشور موضح كمثال

POST /v21.0/page-id/feed HTTP/1.1
Host: graph.facebook.com

message=This+is+a+test+activity&og_action_type_id=383634835006146&og_object_id=136050896551329&og_icon_id=609297155780549
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/page-id/feed',
    array (
      'message' => 'This is a test activity',
      'og_action_type_id' => '383634835006146',
      'og_object_id' => '136050896551329',
      'og_icon_id' => '609297155780549',
    ),
    '{access-token}'
  );
} catch(Facebook\Exceptions\FacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(Facebook\Exceptions\FacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();
/* handle the result */
/* make the API call */
FB.api(
    "/page-id/feed",
    "POST",
    {
        "message": "This is a test activity",
        "og_action_type_id": "383634835006146",
        "og_object_id": "136050896551329",
        "og_icon_id": "609297155780549"
    },
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
Bundle params = new Bundle();
params.putString("message", "This is a test activity");
params.putString("og_action_type_id", "383634835006146");
params.putString("og_object_id", "136050896551329");
params.putString("og_icon_id", "609297155780549");
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/page-id/feed",
    params,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
NSDictionary *params = @{
  @"message": @"This is a test activity",
  @"og_action_type_id": @"383634835006146",
  @"og_object_id": @"136050896551329",
  @"og_icon_id": @"609297155780549",
};
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/page-id/feed"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

ستعرض الاستجابة post_id.

منشورات صفحة لم يتم نشرها

ندعم الأنواع التالية لمنشورات الصفحة التي لم يتم نشرها:

نوع المنشورالوصف

الرابط

يكون منشور صفحة الرابط أكثر فعالية لمشاركة الروابط في موقعك على الويب. ويسمح بالاستبدال الاختياري للصورة والنص الإضافي.
ملاحظة: سيكون رابط فيديو يوتيوب بمثابة منشور صفحة لرابط.

الصورة

منشور صفحة لصورة يتضمن وصفًا نصيًا ورابطًا اختياريًا كجزء من الوصف.

المنشور

منشور صفحة يتضمن وصفًا نصيًا.

الفيديو

منشور صفحة لفيديو يتضمن وصفًا نصيًا اختياريًا.

يتم التعامل مع منشورات الصفحة التي لم يتم نشرها بالطريقة نفسها المُتبعة في منشورات الصفحة التي تم نشرها فيما عدا أنها لا تظهر في /feed.

وللاطلاع على قائمة بمنشورات الصفحة التي لم يتم نشرها، يمكنك الاستعلام عن الحقل is_published.

curl -i -X GET \
 "https://graph.facebook.com/{page-id}/feed
 ?fields=is_published
 &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newGraphPathRequest(
  accessToken,
  "/{page-id}/feed",
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});

Bundle parameters = new Bundle();
parameters.putString("fields", "is_published");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{page-id}/feed"
           parameters:@{ @"fields": @"is_published",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{page-id}/feed',
  'GET',
  {"fields":"is_published"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/{page-id}/feed?fields=is_published',
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

لعرض منشور على Facebook.com، يمكنك الانتقال إلى https://www.facebook.com/{post-id} للاطلاع على معظم أنواع المنشورات أو استرداد الحقل actions الخاص بالمنشور والذي يحتوي على عنوان URL الذي يمكن للمستخدم من خلاله الإعجاب بالمنشور أو التعليق عليه.

زر call_to_action لمنشور الصفحة

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

الاسمالنوعالوصف

call_to_action

object

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

type

string

يمكن تحديد نص زر الدعوة لاتخاذ إجراء. إحدى القيم المسموح بها:

BOOK_TRAVEL. يتم عرض دعوة لاتخاذ إجراء على هيئة "الحجز الآن".

BUY_NOW. تظهر الدعوة لاتخاذ إجراء باعتبارها "الشراء الآن". يُستخدم فقط من أجل إعلانات تطبيقات أجهزة الكمبيوتر للسلع الافتراضية.

CALL_NOW. تظهر الدعوة لاتخاذ إجراء باعتبارها "الدعوة الآن". يُستخدم فقط من أجل إعلانات الوعي المحلي.

DOWNLOAD. يتم عرض دعوة لاتخاذ إجراء على هيئة "تنزيل".

GET_DIRECTIONS. يتم عرض دعوة لاتخاذ إجراء على هيئة "الحصول على التوجيهات". يتعين تحديد إحداثيات في الحقل link. يُستخدم فقط من أجل إعلانات الوعي المحلي.

GET_QUOTE. يتم عرض دعوة لاتخاذ إجراء على هيئة "الحصول على عرض أسعار" لتجميع بيانات العملاء المحتملين.

INSTALL_APP. يتم عرض دعوة لاتخاذ إجراء على هيئة "التثبيت الآن".

INSTALL_MOBILE_APP. يتم عرض دعوة لاتخاذ إجراء على هيئة "التثبيت الآن". يُستخدم فقط من أجل إعلانات تطبيقات الهواتف المحمولة.

LEARN_MORE. يتم عرض دعوة لاتخاذ إجراء على هيئة "معرفة المزيد".

LIKE_PAGE. يتم عرض دعوة لاتخاذ إجراء على هيئة "الإعجاب بصفحة". يُستخدم فقط من أجل الإعلانات في هدف تسجيلات الإعجاب بالصفحة.

LISTEN_MUSIC. يتم عرض دعوة لاتخاذ إجراء على هيئة "الاستماع إلى الموسيقى".

MESSAGE_PAGE. تظهر الدعوة لاتخاذ إجراء باعتبارها "إرسال رسالة". يُستخدم فقط من أجل إعلانات الوعي المحلي.

NO_BUTTON. لا يتم عرض دعوة لاتخاذ إجراء.

OPEN_LINK. تظهر الدعوة لاتخاذ إجراء باعتبارها "فتح الرابط". يُستخدم فقط من أجل الإعلانات في هدف النقرات على موقع الويب.

PLAY_GAME. يتم عرض دعوة لاتخاذ إجراء على هيئة "تشغيل اللعبة". يُستخدم فقط من أجل إعلانات تطبيقات أجهزة الكمبيوتر.

SHOP_NOW. يتم عرض دعوة لاتخاذ إجراء على هيئة "الشراء الآن". يُستخدم فقط من أجل الإعلانات في هدف تحويلات مواقع الويب.

SIGN_UP. يتم عرض دعوة لاتخاذ إجراء على هيئة "تسجيل".

SUBSCRIBE. يتم عرض دعوة لاتخاذ إجراء على هيئة "الاشتراك" لتجميع بيانات العملاء المحتملين.

USE_APP. يتم عرض دعوة لاتخاذ إجراء على هيئة "استخدام التطبيق".

USE_MOBILE_APP. يُستخدم فقط من أجل إعلانات تطبيقات الهواتف المحمولة.

WATCH_MORE. يتم عرض دعوة لاتخاذ إجراء على هيئة "مشاهدة المزيد".

WATCH_VIDEO. يتم عرض دعوة لاتخاذ إجراء على هيئة "مشاهدة فيديو".

صورة منشور صفحة لرابط مخصص

يمكن نشر رابط على صفحة تحتوي على صورة رابط مخصص. وسيعرض مرفق القصة صورة تم استردادها من الرابط. يمكنك حاليًا تجاوز هذه الصورة من خلال توفير معلمة picture اختيارية بعنوان URL لصورة جديدة. توفر المعلمة thumbnail وظائف متشابهة مع وجود اختلاف رئيسي وهو أن المعلمة تقبل ملفًا لصورة محلية تم تحميله إلى Facebook في استدعاء واجهة API.

الأذونات

  • يلزم توفير رمز وصول الصفحة.
  • يتعين أن يكون الرابط ملكًا للصفحة الناشرة.

للتحقق من صحة ملكية الرابط، تحقق من الحقل ownership_permissions{can_customize_link_posts} الموجود في العقدة URL. يتعين عليك استدعاء نقطة النهاية هذه قبل نشر روابط جديدة. في حالة عدم إجراء هذه الخطوة، لن تعمل منشورات صفحات الروابط المخصصة في الروابط التي لم يتم استخلاصها. لمزيد من المعلومات، راجع دليل ملكية الرابط. بالنسبة للإصدار 2.10 والإصدارات الأقدم، تم التوقف عن استخدام picture وname وthumbnail وdescription. وتم التوقف عن استخدام caption لجميع الإصدارات.

المعلماتالنوعالوصف

description

string (سلسلة)

وصف الرابط (يظهر أسفل الشرح التوضيحي للرابط). وفي حالة عدم تحديده، يتم ملء هذا الحقل تلقائيًا بالمعلومات التي تم استخلاصها من الرابط والتي عادةً تكون هي عنوان الصفحة.

name

string (سلسلة)

اسم مرفق الرابط. يتم ملء هذا الحقل تلقائيًا بالمعلومات التي تم استخلاصها من الرابط.

picture

string (سلسلة)

عنوان URL للصورة. تكون الصورة واردة من عنوان URL المتوفر في picture

thumbnail

file (الملف)

ملف الصورة المطلوب تحميله. يمكن قبول تنسيقات .jpg.jpeg أو .gif أو .png. تكون الصورة واردة من الملف الذي تم تحميله في thumbnail

التقييدات

  • تتوفر المعلمة thumbnail فقط في منشورات الروابط على صفحات Facebook.
  • وتتمتع المعلمة thumbnail بأسبقية أعلى من المعلمة picture. وفي حالة توفير كليهما، لا يتم استخدام معلمة picture.
  • تقبل معلمة thumbnail الصور بامتداد .jpg أو .jpeg أو .gif أو .png.
  • المعلمة thumbnail غير مدعومة في طلبات الدفعات.

نشر رابط على إحدى الصفحات

يمكن نشر رابط على صفحة من خلال إرسال طلب POST إلى عنصر الربط /page/feed. ويمكنك تعيين المعلمة publish إلى 1 لنشر المنشور على الفور أو تعيينها إلى 0 لإنشاء منشور لم يتم نشره حتى يتم نشره لاحقًا.

عينة من الطلب

curl -i -X POST "https://graph.facebook.com/{your-page-id}/feed
  ?message=Become%20a%20Facebook%20developer!
  &link=https%3A%2F%2Fdevelopers.facebook.com
  &published=1
  &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-page-id}/feed",
  new JSONObject("{\"message\":\"Become a Facebook developer!\",\"link\":\"https://developers.facebook.com\",\"published\":\"1\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"message": @"Become a Facebook developer!",@"link": @"https://developers.facebook.com",@"published": @"1",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'POST',
  {"message":"Become a Facebook developer!","link":"https://developers.facebook.com","published":"1"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-page-id}/feed',
    array (
      'message' => 'Become a Facebook developer!',
      'link' => 'https://developers.facebook.com',
      'published' => '1'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

عينة من الاستجابة

{"id":"{post-id}"}

رابط لمنشور صفحة بزر دعوة لاتخاذ إجراء

يحدد الحقل call_to_action الإجراء المناسب والرابط المرتبط به. ويجب أن يكون هذا الرابط مماثلاً للمعلمة link بمنشور الصفحة. وفي هذا الاستدعاء، تكون title وdescription وcaption وpicture اختيارية، وعندما لا يتم توفيرها، سيقرأ Facebook الخصائص المكافئة من بيانات تعريف Open Graph للرابط. إذا لم يكن لدى صفحة الويب المرتبطة بيانات تعريف Open Graph، فسيحاول Facebook تخمين هذه الخصائص من خلال استخلاص محتوى صفحة الويب.

عينة من الطلب

curl -i -X POST "https://graph.facebook.com/{your-page-id}/feed
  ?message=Become a Facebook developer!
  &link=https://developers.facebook.com
  &call_to_action={"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}
  &published=1
  &access_token={your-page-access-token}"
GraphRequest request = GraphRequest.newPostRequest(
  accessToken,
  "/{your-page-id}/feed",
  new JSONObject("{\"message\":\"Become a Facebook developer!\",\"link\":\"https://developers.facebook.com\",\"published\":\"1\",\"call_to_action\":\"{\\\"type\\\":\\\"SIGN_UP\\\",\\\"value\\\":{\\\"link\\\":\\\"https://developers.facebook.com\\\"}}\"}"),
  new GraphRequest.Callback() {
    @Override
    public void onCompleted(GraphResponse response) {
      // Insert your code here
    }
});
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/{your-page-id}/feed"
           parameters:@{ @"message": @"Become a Facebook developer!",@"link": @"https://developers.facebook.com",@"published": @"1",@"call_to_action": @"{"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}",}
           HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/{your-page-id}/feed',
  'POST',
  {"message":"Become a Facebook developer!","link":"https://developers.facebook.com","published":"1","call_to_action":"{\"type\":\"SIGN_UP\",\"value\":{\"link\":\"https://developers.facebook.com\"}}"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->post(
    '/{your-page-id}/feed',
    array (
      'message' => 'Become a Facebook developer!',
      'link' => 'https://developers.facebook.com',
      'published' => '1',
      'call_to_action' => '{"type":"SIGN_UP","value":{"link":"https://developers.facebook.com"}}'
    ),
    '{access-token}'
  );
} catch(FacebookExceptionsFacebookResponseException $e) {
  echo 'Graph returned an error: ' . $e->getMessage();
  exit;
} catch(FacebookExceptionsFacebookSDKException $e) {
  echo 'Facebook SDK returned an error: ' . $e->getMessage();
  exit;
}
$graphNode = $response->getGraphNode();

عينة من الاستجابة

{"id":"{post-id}"}

رابط لمنشور بصورة مخصصة تم تحميلها

استخدام ملف محلي:

curl -F 'link=http://www.example.com' \
     -F 'thumbnail=@/local/path/to/file/on/hard/drive/image.jpg' \
     -F 'access_token=page-access-token'\
  https://graph.facebook.com/v2.11/page-id/feed

القيمة التي يتم إرجاعها

{"id":"post-id"}

استخدام صورة عبر عنوان URL:

curl -F 'link=http://www.example.com' \
     -F 'picture=https://www.example.com/path/to/image.jpg' \
     -F 'access_token=page-access-token'\
  https://graph.facebook.com/v2.11/page-id/feed

قيمة الإرجاع

{"id":"post-id>"}

منشور صفحة لصورة

لمزيد من المعلومات، يُرجى زيارة مرجع عقدة الصورة.

منشور صفحة لفيديو

لمزيد من المعلومات، يُرجى زيارة مرجع فيديو الصفحة.

رؤى منشور الصفحة

لمزيد من المعلومات، يُرجى زيارة مرجع رؤى منشور الصفحة.

التحديث

لا يمكنك إجراء التحديث باستخدام عنصر الربط هذا، ومع ذلك يمكنك تحديث المنشورات باستخدام العقدة /{post-id}.

الحذف

لا يمكنك الحذف باستخدام عنصر الربط هذا، ومع ذلك يمكنك حذف المنشورات باستخدام العقدة /{post-id}.