3

我的应用程序使用 Facebook 官方内置的 like action实现了一个自定义的 like 按钮。

唯一缺少的部分是如果用户已经喜欢该资源,则禁用该按钮。在使用 FQL 测试各种方法均未成功后,我刚刚尝试针对https://graph.facebook.com/<user_id>/og.likes发出 get 请求,这会返回 Open Graph 之类的当前用户。

不幸的是,我似乎无法找到一种方法来过滤特定 object_id 的结果。任何人都可以推荐解决方案或知道使用 FQL 完成相同任务的方法吗?请注意,我们在这里谈论的是 Open Graph Likes,这似乎与使用 Facebook Like 按钮创建的标准点赞不同。

4

3 回答 3

3

我也一直在努力了解如何使用图形 API 或 FQL 获取有关这些 og.like 的信息。它们似乎没有存储在任何常用表(url_like 或 link_stat)中。这可能不是“正确”的做法,但我就是这样做的。

为了检查用户是否喜欢该对象,我正在使用您提到的 Graph API,使用 URL graph.facebook.com/[userid]/og.likes。然后我只是在响应中循环遍历数组,并查找与我感兴趣的对象的 URL 或 ID 匹配的数组。如果用户有很多 og.like,这并不是特别有效,但它会得到任务完成。

于 2012-06-27T22:13:59.410 回答
1

看起来你可以为你的 URL 设置一个 Like 按钮,然后在 WHERE 子句中通过 ANDing "url=" 来检查用户是否喜欢它: https://api.facebook.com/method/fql.query?query=SELECT url FROM url_like WHERE user_id = me() and url="http://www.yourUrl.com"&access_token=...

请注意,网址必须在“引号”中

于 2012-08-24T01:31:30.087 回答
1

我不确定 API 是否可用。

但是,您有解决方法。当您知道正在查看的资源时,您就知道用户 ID,当您发布任何操作时,将其存储在您的数据库中并使用该信息来禁用喜欢。

一旦我找到更多信息,我会及时通知您。

编辑

一个 FQL 表,其中包含用户喜欢的 Open Graph URL。

要阅读您需要的 url_like 表

user_likes 当前会话用户喜欢的所有 Open Graph URL 的权限 用户friend_likes 当前会话用户的朋友喜欢的所有 Open Graph URL 的权限

来源:用户喜欢

于 2012-06-26T12:53:38.207 回答