API Facebook Graph – удалить как

Я разрабатываю приложение для Facebook на PHP, часть которого перечисляет «понравится» пользователю. Я хотел бы добавить ссылку рядом с каждым так, чтобы пользователь мог управлять ими, удаляя их там, где они сочтут нужным.

Facebook упоминает об этом в своем графике api docs:

Вы можете удалить подобное, отправив запрос DELETE в / POST_ID / нравится (так как у друзей нет идентификатора).

Но каждый из них должен иметь идентификатор – как еще вы его удаляете?

Кто-нибудь делал это раньше?

Related of "API Facebook Graph – удалить как"

Да, в API Graph нет идентификатора. Вам нравится или не нравится элемент POSTING или DELETEing для {item_id}/likes , где {item_id} заменяется идентификатором объекта, который вам нравится / не нравится.

Чтобы узнать, что понравилось текущему пользователю (поэтому вы можете удалить их соответствующим образом), вы можете использовать «любит» соединение объекта User ( docs ). Итак, если вы попросите http://graph.facebook.com/me/likes , вы получите список страниц / людей / все, что понравилось пользователю. (Примечание: это не включает в себя сообщения или фотографии или что-то в этом роде)

Это вернет массив данных, полный таких элементов:

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

Идентификатор не содержит идентификатора. Это идентификатор объекта, который понравился пользователю, поэтому, чтобы его не понравилось, вы должны сделать DELETE на http://graph.facebook.com/29956247793/likes .

Это не «как», у которого есть идентификатор, это сообщение – поэтому в качестве цели в вызове api используется «/ POST_ID / нравится», если вы удаляете «/ POST_ID», он избавится от сообщения, но если вы удалите «/ POST_ID / нравится», он избавится от «понравится» пользователя для этого сообщения.

У Likes есть идентификатор.

Если вы посмотрите на https://graph.facebook.com/me/likes , вы увидите, что результирующие данные содержат значение идентификатора для каждого.

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

Возможно, вы захотите попробовать идентификатор там, я заметил, что в документе FB API иногда есть ошибки.

Редактирование : Я думаю, что это также может быть проблемой терминологии, поскольку то, что говорит док, не имеет идентификаторов, вероятно, нравится сообщению пользователя, и они, вероятно, не имеют идентификатора и могут быть удалены, отправив удаление на POST_ID / любит. Затем есть похожие, созданные с помощью симпатичных кнопок и / или внешних веб-сайтов, и у них есть идентификатор. Это смущает.

С OpenGrpah у подобных есть идентификаторы, это единственное поле id в объекте, возвращаемом вызовом API для og.likes.

Вы, в отличие от использования access_token которые использовали для этого.

псевдокод:

нравится:

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

в отличие от:

 FacebookGraphApi::getInstance()->setAccessToken('xxx')->delete('xxxxx/likes')