代码之家  ›  专栏  ›  技术社区  ›  Martin

Facebook图形API-删除

  •  8
  • Martin  · 技术社区  · 14 年前

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

    Facebook在其图形API文档中提到了这一点:

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

    但是每个like都必须有一个ID-否则你会怎么删除它?

    以前有人做过吗?

    5 回复  |  直到 9 年前
        1
  •  5
  •   cloudfeet    12 年前

    是的,like在图形API中没有ID。通过发布或删除来喜欢或不喜欢项目 {item_id}/likes 在哪里 {item_id} 替换为您喜欢/取消链接的对象的ID。

    要了解当前用户喜欢什么(以便您可以适当地删除它们),可以使用用户对象的“喜欢”连接。( 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,因此要取消喜欢,您必须删除 http://graph.facebook.com/29956247793/likes .

        2
  •  5
  •   matt lohkamp    13 年前

    不是'like'有ID,而是post-这就是API调用使用'/post'id/like s'作为目标的原因-如果删除'/post'id',它将删除post,但是如果删除'/post'id/like s',它将删除该post的用户'like'。

        3
  •  1
  •   TuomasR    14 年前

    喜欢的人有身份证。

    如果你看看 https://graph.facebook.com/me/likes ,您将看到结果数据确实包含每个的ID值。

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

    你可能想试试这里的ID,我注意到FBAPI文档有时会出错。

    编辑 :我认为这也可能是一个术语问题,因为Doc所说的没有ID的内容可能喜欢用户帖子,而这些内容可能没有ID,可以通过对帖子进行删除来删除。然后是通过like按钮对网页和/或外部网站进行like生成的like,它们确实有一个ID,令人困惑。

        4
  •  1
  •   Samuel    11 年前

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

        5
  •  1
  •   Mateusz Piotrowski Reinstate Monica Please    9 年前

    不像 使用 access_token 以前做这个的 喜欢 .

    Pseudocode:

    喜欢:

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

    不同于:

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