سؤال

أقوم بتطوير تطبيق لـ Facebook في PHP ، وهو جزء منه يسرد "الإعجابات" للمستخدم. أرغب في إضافة رابط بجوار كل منهما حتى يتمكن المستخدم من إدارة أمثاله عن طريق حذفها حيث يرون مناسبة.

يذكر Facebook هذا في مستندات API الرسم البياني:

يمكنك حذف مثل عن طريق إصدار طلب حذف إلى /post_id /الإعجابات (نظرًا لأن الإعجابات ليس لديهم معرف).

ولكن يجب أن يكون لكل منها معرف - كيف يمكنك حذفه؟

هل فعل أي شخص هذا من قبل؟

هل كانت مفيدة؟

المحلول

نعم ، لا يوجد معرف في واجهة برمجة تطبيقات الرسم البياني. تعجبك أو لا تشبه عنصر ما عن طريق النشر أو الحذف {item_id}/likes, ، أين {item_id} يتم استبداله بمعرف الكائن الذي تروقه/غير محدود.

لمعرفة ما أعجبه المستخدم الحالي (حتى تتمكن من حذفها بشكل مناسب) ، يمكنك استخدام اتصال "الإعجابات" لكائن المستخدم (مستندات). لذلك ، إذا طلبت http://graph.facebook.com/me/likes, ، ستحصل على قائمة بالصفحات/الأشخاص/أيا كان المستخدم الذي أحبه المستخدم. (ملاحظة: لا يتضمن هذا المنشورات أو الصور أو أشياء من هذا القبيل)

سيؤدي هذا إلى إرجاع مجموعة من البيانات المليئة بعناصر مثل هذه:

{
     "name": "Very Hungry Caterpillar",
     "category": "Artist",
     "id": "29956247793",
     "created_time": "2009-03-27T15:48:29+0000"
}

الهوية هناك ليس معرف ما شابه. إنه معرف الكائن الذي أحبه المستخدم ، لذلك من أجل إلغاء تشبهه ، يجب عليك حذفه http://graph.facebook.com/29956247793/likes.

نصائح أخرى

إنه ليس "مثل" الذي يحتوي على معرف ، إنه المنشور - وهذا هو السبب في أن مكالمة API تستخدم "/post_id/الإعجابات" كهدف - إذا قمت بحذف "/post_id" ، فسوف يتخلص من المنشور ، ولكن إذا قمت بحذف '/post_id/leves' ، فسوف يتخلص من المستخدم "مثل هذا المنشور.

الإعجابات لها معرف.

إذا نظرت إلى https://graph.facebook.com/me/likes, ، سترى أن البيانات الناتجة تحتوي على قيمة معرف لكل منها.

{
   "data": [
      {
         "name": "Audi",
         "category": "Consumer_products",
         "id": "96585976469",
         "created_time": "2010-09-27T15:30:15+0000"
      }
    ]
}

قد ترغب في تجربة المعرف هناك ، لقد لاحظت أن FB API Doc لديه في بعض الأحيان أخطاء.

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

مع OpenGrpah ، لدى الإعجابات معرفات ، فهو حقل معرف واحد في الكائن الذي تم إرجاعه بواسطة مكالمة API إلى OG.Likes.

أنت على عكس استخدام access_token التي كانت تستخدم هذا مثل.

كود مزيف:

لكى تحب:

FacebookGraphApi::getInstance()->setAccessToken('xxx')->post('xxxxxx/likes')

على عكس:

FacebookGraphApi::getInstance()->setAccessToken('xxx')->delete('xxxxx/likes')
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top