有没有办法以编程方式检查用户是否在Facebook上共享了链接?
我目前正在使用jQuery来记录我网站上Facebook共享链接上的每次点击,但我正在寻找更准确的解决方案。我不想记录点击次数,而是要记录实际的“份额”。有没有办法在用户分享链接后从Facebook获取回复消息?
我目前正在使用jQuery来记录我网站上Facebook共享链接上的每次点击,但我正在寻找更准确的解决方案。我不想记录点击次数,而是要记录实际的“份额”。有没有办法在用户分享链接后从Facebook获取回复消息?
我今天遇到了这个:http://graph.facebook.com/http://stackoverflow.com
它返回指定 URL 的总份额计数。我的应用程序中的每个用户都有唯一的URL,因此我可以使用此功能轻松跟踪他们的共享。
它也适用于twitter:http://urls.api.twitter.com/1/urls/count.json?url=http://stackoverflow.com
只要它保持活动状态,您就可以使用Facebook的“Feed”对话框而不是“共享”对话框来始终获得共享确认。(这适用于Javascript Facebook SDK。
以下是我对两者之间差异的理解:
FB.ui({
method: 'share',
href: 'http://stackoverflow.com/questions/5363517',
}, function(response){
console.log(response)
});
如果用户已登录并授权您的应用:
response
{post_id: "10205041067000110_10205045578512895"}
response
如果用户未登录您的应用(他们仍需要登录 Facebook):
response
因此,如果您绝对需要共享确认,则必须先要求用户登录。这对于您的应用程序来说可能不是问题,但在我的情况下,这给共享过程增加了不必要的摩擦。
(已弃用,但仍处于活动状态)
FB.ui({
method: 'feed',
link: 'http://stackoverflow.com/questions/5363517',
caption: 'Test Caption',
}, function(response){
console.log(response)
});
无论登录状态如何(w.r.t.您的应用程序;他们仍然需要登录Facebook):
response
{post_id: "10205041067000110_10205045578512895"}
response
使用此方法,您将始终能够判断某人是否发布,无论他们的登录状态如何。