تشير هذه الوثيقة إلى إصدار قديم من ‏‎Graph API‎‏. يرجى ‏استخدام أحدث إصدار.
إصدار ‏‎Graph API‎‏

تفاعلات الكائن

يوضح هذا المرجع عنصر الربط /reactions الشائع في عُقد واجهة Graph API المتعددة. وتتطابق البنية وعمليات التشغيل في كل عقدة. تمتلك الكائنات التالية عنصر الربط /reactions:

القراءة

الحصول على التفاعلات المرتبطة بكائن ما.

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

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

يتم دعم نقطة النهاية هذه لتجربة الصفحة الجديدة.

المتطلبات

تطبيقات التسويق

  • ads_management
  • pages_read_engagement
  • pages_show_list

تطبيقات إدارة الصفحات

  • pages_show_list

عينة من الطلب

المثال التالي هو طلب GET تم إجراؤه بواسطة مستخدم قد تفاعل مع الكائن الخاص به.

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

request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/your-post-id/reactions"
           parameters:nil
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/your-post-id/reactions',
  'GET',
  {},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/your-post-id/reactions',
    '{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();

استجابة JSON

{
  "data": [
    {
      "id": "your-user-id",
      "name": "Your Name",
      "type": "HAHA"
    }
  ],
  "paging": {
    "cursors": {
      "before": "QVFIUk5YbXFFbG8yVWVOa2w0ZAGhmSUNKMkZAZAOXZARbzJOMHM0TUFtZAnhJbWdPdkF4OURUTHJrQjFqQ2RQZAVN1UGxSVU5FWURENnE4OUFPeXFreU1jV09pdFJR",
      "after": "QVFIUkpsWVRkcVl6SlhsdWlrcGdudl8xVEhwVEJ5ZA3FXdG90bTRxam13NmJDUGpQVnB5ZA29lMG9FVmFaeU1BLW1hc2oZD"
    }
  }
}

إذا لم يتفاعل المستخدم أو الصفحة مع الكائن الذي يتم الاستعلام عنه، فستكون قيمة data فارغة.

المثال التالي هو طلب GET لإجمالي التفاعلات على كائن ما.

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

Bundle parameters = new Bundle();
parameters.putString("fields", "reactions.summary(total_count)");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/your-post-id"
           parameters:@{ @"fields": @"reactions.summary(total_count)",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/your-post-id',
  'GET',
  {"fields":"reactions.summary(total_count)"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/your-post-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();

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

{
  "reactions": {
    "data": [
      {
        "id": "your-user-id",
        "name": "Your Name",
        "type": "HAHA"
      }
    ],
    "paging": {
      "cursors": {
        "before": "QVFIUk5YbXFFbG8yVWVOa2w0ZAGhmSUNKMkZAZAOXZARbzJOMHM0TUFtZAnhJbWdPdkF4OURUTHJrQjFqQ2RQZAVN1UGxSVU5FWURENnE4OUFPeXFreU1jV09pdFJR",
        "after": "QVFIUkpsWVRkcVl6SlhsdWlrcGdudl8xVEhwVEJ5ZA3FXdG90bTRxam13NmJDUGpQVnB5ZA29lMG9FVmFaeU1BLW1hc2oZD"
      }
    },
    "summary": {
      "total_count": 28
    }
  },
  "id": "your-post-id"
}

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

{
  "reactions": {
    "data": [
    ],
    "paging": {
      "cursors": {
        "before": "QVFIUk5YbXFFbG8yVWVOa2w0ZAGhmSUNKMkZAZAOXZARbzJOMHM0TUFtZAnhJbWdPdkF4OURUTHJrQjFqQ2RQZAVN1UGxSVU5FWURENnE4OUFPeXFreU1jV09pdFJR",
        "after": "QVFIUkpsWVRkcVl6SlhsdWlrcGdudl8xVEhwVEJ5ZA3FXdG90bTRxam13NmJDUGpQVnB5ZA29lMG9FVmFaeU1BLW1hc2oZD"
      }
    },
    "summary": {
      "total_count": 28
    }
  },
  "id": "your-post-id"
}

لا يمكن للمستخدم أو الصفحة سوى الاستعلام عن التفاعلات التابعة لهما. ولا تتوفر تفاعلات "المستخدمين" الآخرين أو "الصفحات" الأخرى لاعتبارات تتعلق بالخصوصية.

تتضمن أعداد التفاعل "أعجبني" التفاعلين "أعجبني" و"أدعمه".

المعلمات

الاسمالوصف

type

enum {NONE, LIKE, LOVE, WOW, HAHA, SORRY, ANGRY}

يمثل نوع التفاعل الذي نفذه المستخدم أو الصفحة على كائن ما.

الحقول

ستؤدي القراءة من خلال عنصر الربط هذا إلى إرجاع نتيجة بتنسيق JSON

{
    "data": [],
    "paging": {},
    "summary": {}
}

data

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

الحقلالوصف

type

enum {NONE, LIKE, LOVE, WOW, HAHA, SORRY, ANGRY}

يمثل نوع التفاعل الذي نفذه المستخدم أو الصفحة على كائن ما.

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

عرض عدد التفاعلات الفردية

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

Bundle parameters = new Bundle();
parameters.putString("fields", "reactions.type(LOVE).limit(0).summary(total_count)");
request.setParameters(parameters);
request.executeAsync();
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
    initWithGraphPath:@"/your-object-id"
           parameters:@{ @"fields": @"reactions.type(LOVE).limit(0).summary(total_count)",}
           HTTPMethod:@"GET"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
    // Insert your code here
}];
FB.api(
  '/your-object-id',
  'GET',
  {"fields":"reactions.type(LOVE).limit(0).summary(total_count)"},
  function(response) {
      // Insert your code here
  }
);
try {
  // Returns a `FacebookFacebookResponse` object
  $response = $fb->get(
    '/your-object-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();

مثال استجابة JSON التي يتم إرجاعها

{
  "reactions": {
    "data": [
    ],
    "summary": {
      "total_count": 3498
    }
  },
  "id": "your-object-id"
}

paging

لمزيد من التفاصيل حول تقسيم الصفحات، راجع وثائق تقسيم الصفحات لدى واجهة Graph API. ستؤدي إضافة limit(0) إلى reactions إلى إزالة paging من الإخراج.

summary

المعلومات المجمَّعة حول عنصر الربط، مثل الأعداد. حدّد الحقول المطلوب استدعائها في معلمة الملخص (مثل summary=total_count).

الحقلالوصف

total_count

unsigned int32 (غير موقّع)

إجمالي عدد التفاعلات

viewer_reaction

enum {NONE, LIKE, LOVE, WOW, HAHA, SORRY, ANGRY}

يمثل نوع التفاعل الذي نفذه المستخدم أو الصفحة على كائن ما.

رموز الأخطاء

الخطأالوصف

100

معلمة غير صالحة

الإنشاء

هذه العملية غير مدعومة.

التحديث

هذه العملية غير مدعومة.

الحذف

هذه العملية غير مدعومة.