我很难找到关于如何使用 javascript 来确定是否单击了类似按钮的良好文档。我不能使用点击事件,因为当用户进入我的页面时可能已经检查了该按钮,但这似乎是我能找到的关于从外部跟踪喜欢的所有内容(不包括不再支持的其他方法)。任何人都对此类问题有任何经验?谢谢。
问问题
354 次
2 回答
0
这取决于“赞”按钮。如果是针对具有 ID 的 Facebook 对象,您可以查询like表(但您需要user_likes权限)
如果它是一个 URL,那是不可能的:facebook graph api 确定用户是否喜欢 url [stackoverflow]
它是内置的,就像您可以使用 cookie 来记住点击,或将点击保存在您自己的数据库中一样。
于 2012-08-23T16:00:11.817 回答
0
只是为了扩展吉尔的答案。对于内置的点赞,您可以使用包含两个请求的批处理请求:1)尝试点赞有问题的对象 2)如果没有错误,删除点赞连接
示例批次:
[{"method":"POST", "relative_url":"me/og.likes", "body":"object=<SOME_URL>", "name":"like-attempt", "omit_response_on_success": false},
{"method":"DELETE", "relative_url":"{result=like-attempt:$.id}"}]
如果一个对象已经被喜欢,批处理响应将是:
[
{
"code": 400,
"headers": [
...
{
"name": "WWW-Authenticate",
"value": "OAuth \"Facebook Platform\" \"invalid_request\" \"(#3501) User is already associated to the object object on a unique action type Like. Original Action ID: 143539809123515\""
}
],
"body": "{\n \"error\": {\n \"message\": \"(#3501) User is already associated to the object object on a unique action type Like. Original Action ID: 143539809123515\",\n \"type\": \"OAuthException\",\n \"code\": 3501\n }\n}"
},
null
]
因此,要检查对象是否被喜欢,JSON.parse 第一个响应正文并查找带有错误代码的错误3501
。请记住,实际的错误代码没有记录在任何地方,因此它可能会改变,尽管我认为这不太可能。
于 2012-09-11T09:57:10.833 回答