不喜欢按钮显示的Facebook为那些谁已经很喜欢(Don't display facebo

2019-07-30 04:52发布

我想显示一个Facebook像按钮的页面只对那些谁不喜欢那个页面。 所以,当一个用户已经在页面的粉丝,类似按钮将不会显示。

我做了很多研究,我发现,我需要实现连接Facebook,并获取user_likes许可和检查,如果连接的用户在他的列表中选择页面。 这是一个工作示例http://www.fbrell.com/fb.api/does-like

Basicaly,我需要的代码,将做到这一点:

当用户点击连接,内容将被改变,像按钮,Facebook将显示,如果连接的用户没有过去喜欢它。

Answer 1:

贯彻的JavaScript SDK

在JS SDK的初始化,请务必将xfbml为false,那么该插件将不会自动呈现。 你必须要求user_likes许可 ,这意味着你要对自己的网站有一个Facebook应用程序相关联。 这使得Facebook能够跟踪谁请求什么数据。 您可以使用Fb.login()方法来请求权限和验证您的用户。

一旦你的JavaSctipt SDK,你可以简单地通过对API的调用

  • 图形
    FB.api('me/likes/PAGE_ID')

  • FQL
    FB.api("fql?q='SELECT+uid+FROM+page_fan+WHERE+uid=me()+AND+page_id=PAGE_ID")

如果这些数据返回,你知道不显示等插件。 但是,如果用户不喜欢的页面的是,这些调用将返回空的结果,然后你可以调用FB.XFBML.parse()方法来呈现类似的插件。



Answer 2:

你需要做的图形API一些要求。
当您得到与页面ID FB.api('http://your-url.com');
就像是用FQL查询您的页面,您可以检查当前用户:

'SELECT uid FROM page_fan WHERE uid=me() AND page_id=YOUR-PAGE-ID'


Answer 3:

如果你喜欢按钮是画布页或页面选项卡上,你可以通过阅读实现风扇门signed_request 。 有关于如何也在这里做计算器上为不同的服务器端语言一吨的教程和提示的。 例如这个答案在这里: https://stackoverflow.com/a/7671496/601466
只要搜索“粉丝门”和“签名的请求”。



文章来源: Don't display facebook like button for those who already liked it