8

我正在用 PHP 为 Facebook 开发一个应用程序,其中一部分列出了用户的“喜欢”。我想在每个赞旁边添加一个链接,以便用户可以通过在他们认为合适的地方删除它们来管理他们的赞。

Facebook 在他们的图形 api 文档中提到了这一点:

您可以通过向 /POST_ID/likes 发出 DELETE 请求来删除赞(因为赞没有 ID)。

但是每个点赞都必须有一个 id——否则你会如何删除它?

有没有人这样做过?

4

5 回答 5

5

不是“喜欢”有 ID,而是帖子——这就是 api 调用使用“/POST_ID/likes”作为目标的原因——如果你删除“/POST_ID”,它会删除帖子,但是如果您删除“/POST_ID/likes”,它将删除用户对该帖子的“喜欢”。

于 2011-02-18T23:22:20.507 回答
5

是的,点赞在 Graph API 中没有 ID。您通过 POST 或 DELETEing 来喜欢或不喜欢某个项目{item_id}/likes,其中{item_id}替换为您喜欢/不喜欢的对象的 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"
}

里面的ID不是类似的ID。它是用户喜欢的对象的 ID,因此为了不喜欢它,您必须对http://graph.facebook.com/29956247793/likes.

于 2012-09-01T07:15:19.253 回答
1

不像使用access_tokenwhich used to make this like

伪代码:

喜欢:

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

不一样:

FacebookGraphApi::getInstance()->setAccessToken('xxx')->delete('xxxxx/likes')
于 2011-02-11T15:56:02.730 回答
1

点赞确实有 ID。

如果您查看https://graph.facebook.com/me/likes,您会看到生成的数据确实包含每个 ID 值。

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

您可能想尝试那里的 ID,我注意到 FB API 文档有时会出现错误。

编辑:我认为这也可能是一个术语问题,因为文档所说的没有 ID 可能喜欢用户帖子,而这些可能没有真正的 ID,可以通过向POST_ID/喜欢。然后是通过喜欢按钮喜欢页面和/或外部网站生成的喜欢,这些都具有 ID。令人困惑,它是。

于 2010-09-30T18:03:09.890 回答
1

使用 OpenGrpah,喜欢确实有 id,它是对象中的单个 id 字段,由对 og.likes 的 API 调用返回。

于 2013-03-15T09:57:51.697 回答