إصدار ‏‎Graph API‎‏

/{object-id}/likes

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

القراءة

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

استخدم الحقل likes لكائن ما للحصول على عدد تسجيلات الإعجاب.

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

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

يتم دعم نقطة النهاية /likes للكائنات التالية لاستخدام تجربة الصفحة الجديدة:

  • المستخدم

المتطلبات

  • يلزم توفير المتطلبات‏ نفسها المطلوبة لعرض الكائن بغرض عرض تسجيلات الإعجاب على هذا الكائن.

التقييدات

  • ولا يتوفر سوى الأعداد المجمّعة باستخدام total_count إلى جانب المعلمة summary لتسجيلات الإعجاب بالمنشور.
  • تتضمن أعداد التفاعل like التفاعلين "أعجبني" و"أدعمه".
  • يمثل total_count العدد التقريبي لتسجيلات الإعجاب، ومع ذلك، قد يختلف العدد الفعلي الذي يتم إرجاعه وفقًا لإعدادات الخصوصية.
  • يتم إيقاف استخدام نقطتي النهاية GET /{group-post-id}/likes وGET /{post-id}/likes في الإصدار 8.0 والإصدارات الأحدث وسيتم إيقاف استخدامهما في كل الإصدارات بتاريخ 2 نوفمبر 2020.

الحقول

اسم الخاصية الوصف النوع

total_count

إجمالي عدد تسجيلات الإعجاب بالصفحة والمستخدم في الكائن. ولإرجاع هذا الحقل، يجب عليك تضمين المعلمة summary=true والقيمة في طلبك.

int32

مثال على الاستخدام

عينة من الطلب
curl -i -X GET "https://graph.facebook.com/{object-id}
  ?fields=likes.summary(true)
  &access_token={access-token}"

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

  {
  "likes": {
    "data": [
      {
        "name": "Bill the Cat",
        "id": "155111347875779",
        "created_time": "2017-06-18T18:21:04+0000"
      },
      {
        "name": "Calvin and Hobbes",
        "id": "257573197608192",
        "created_time": "2017-06-18T18:21:02+0000"
      },
      {
        "name": "Berkeley Breathed's Bloom County",
        "id": "108793262484769",
        "created_time": "2017-06-18T18:20:58+0000"
      }
    ],
    "paging": {
      "cursors": {
        "before": "Nzc0Njg0MTQ3OAZDZD",
        "after": "NTcxODc1ODk2NgZDZD"
      },
      "next": "https://graph.facebook.com/vX.X/me/likes?access_token=user-access-token&pretty=0&summary=true&limit=25&after=NTcxODc1ODk2NgZDZD"
    },
    "summary": {
      "total_count": 136
    }
  },
  "id": "user-id"
}

النشر

يمكنك تسجيل الإعجاب بكائن.

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

يتم دعم نقطة النهاية /likes للكائنات التالية لاستخدام تجربة الصفحة الجديدة:

POST /v21.0/{object-id}/likes HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->post(
    '/{object-id}/likes',
    array (),
    '{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(
    "/{object-id}/likes",
    "POST",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{object-id}/likes",
    null,
    HttpMethod.POST,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{object-id}/likes"
                                      parameters:params
                                      HTTPMethod:@"POST"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

الأذونات

  • رمز وصول الصفحة الذي يطلبه شخص يمكنه تنفيذ المهمة CREATE_CONTENT في الصفحة
  • الإذن pages_manage_engagement

التقييدات

  • يجب أن تتمكّن الصفحة أيضًا من تسجيل الإعجاب بالكائن (سواءً عبر واجهة API أو على Facebook.com).
  • يجب ألا تكون الصفحة قد سجّلت إعجابها بالكائن مسبقًا.
  • إذا تفاعلت الصفحة بالفعل مع أي كائن (الإعجاب أو الغضب)، فحينها سينجح تسجيل الإعجاب، ولكن لن يتغير التفاعل.
  • تسجيل الإعجاب بتقييم الصفحة غير مدعوم.

الحقول

لا يلزم ملء أي حقول لإضافة تسجيلات الإعجاب.

الاستجابة

عند نجاح العملية، سيتلقى تطبيقك الاستجابة التالية:

{
  "success": true
}

التحديث

لا يمكنك إجراء تلك العملية على نقطة النهاية هذه.

الحذف

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

DELETE /v21.0/{object-id}/likes HTTP/1.1
Host: graph.facebook.com
/* PHP SDK v5.0.0 */
/* make the API call */
try {
  // Returns a `Facebook\FacebookResponse` object
  $response = $fb->delete(
    '/{object-id}/likes',
    array (),
    '{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(
    "/{object-id}/likes",
    "DELETE",
    function (response) {
      if (response && !response.error) {
        /* handle the result */
      }
    }
);
/* make the API call */
new GraphRequest(
    AccessToken.getCurrentAccessToken(),
    "/{object-id}/likes",
    null,
    HttpMethod.DELETE,
    new GraphRequest.Callback() {
        public void onCompleted(GraphResponse response) {
            /* handle the result */
        }
    }
).executeAsync();
/* make the API call */
FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc]
                               initWithGraphPath:@"/{object-id}/likes"
                                      parameters:params
                                      HTTPMethod:@"DELETE"];
[request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                      id result,
                                      NSError *error) {
    // Handle the result
}];

الأذونات

  • رمز وصول الصفحة الذي يطلبه شخص يمكنه تنفيذ المهمة MODERATE في الصفحة
  • الإذن pages_manage_engagement

التقييدات

  • يمكن للمستخدم أو الصفحة حذف likes الخاصة بهم فقط.
  • يجب تسجيل الإعجاب بالكائن مسبقًا.
  • حذف الإعجاب بتقييم الصفحة غير مدعوم.

الحقول

لا تتوفر حقول لنقطة النهاية هذه.

الاستجابة

عند نجاح العملية، سيتلقى تطبيقك الاستجابة التالية:

{
  "success": true
}