Facebook Graph API - удалить как - PullRequest
       7

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

8 голосов
/ 30 сентября 2010

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

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

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

Но у каждого лайка должен быть свой идентификатор - как еще вы его удалите?

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

Ответы [ 5 ]

5 голосов
/ 01 сентября 2012

Да, у лайков нет идентификатора в Graph API.Вам нравится или не нравится элемент путем 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"
}

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

5 голосов
/ 19 февраля 2011

Идентификатор есть не у «лайка», а у поста, поэтому вызов API использует в качестве цели «/ POST_ID / likes» - если вы удалите «/ POST_ID», он избавится от пост, но если вы удалите «/ POST_ID / likes», это избавит пользователя от «лайка» для этого поста.

1 голос
/ 15 марта 2013

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

1 голос
/ 11 февраля 2011

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

псевдокод:

нравится:

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

в отличие от:

FacebookGraphApi::getInstance()->setAccessToken('xxx')->delete('xxxxx/likes')
1 голос
/ 30 сентября 2010

У лайков есть ID.

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...