Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为喜欢或不喜欢我们facebook页面的人显示一些内容_Facebook_Web_Facebook Javascript Sdk_Facebook Like - Fatal编程技术网

为喜欢或不喜欢我们facebook页面的人显示一些内容

为喜欢或不喜欢我们facebook页面的人显示一些内容,facebook,web,facebook-javascript-sdk,facebook-like,Facebook,Web,Facebook Javascript Sdk,Facebook Like,我为中突出显示的问题寻找解决方案 不幸的是,已被接受的解决方案(可追溯到2012年11月21日)不再有效,因为您可以在这里看到 有人知道为什么吗 身体 CSS 我搜索了几个小时的解决方案,但没有找到任何有效的方法 谢谢你的帮助 类似的选通不再被允许,这就是为什么它不可能的原因。获取该信息的唯一可靠方法是授权具有user\u likes权限的用户,并使用/me/likes/[page id]。但在登录审核中,您将无法获得该权限的批准 人们需要喜欢某样东西是因为他们真的想要,而不是因为他们从中得到了

我为中突出显示的问题寻找解决方案

不幸的是,已被接受的解决方案(可追溯到2012年11月21日)不再有效,因为您可以在这里看到

有人知道为什么吗

身体

CSS

我搜索了几个小时的解决方案,但没有找到任何有效的方法


谢谢你的帮助

类似的选通不再被允许,这就是为什么它不可能的原因。获取该信息的唯一可靠方法是授权具有
user\u likes
权限的用户,并使用
/me/likes/[page id]
。但在登录审核中,您将无法获得该权限的批准

人们需要喜欢某样东西是因为他们真的想要,而不是因为他们从中得到了什么:

仅激励某人登录您的应用程序、在应用程序页面上输入促销信息或在某个地方登记。不要鼓励其他行动

资料来源:


顺便说一句,您也可以订阅edge.create事件,以确定用户是否刚刚单击了“喜欢”按钮,但您无法确定用户以前是否喜欢它:

该代码的问题是FQL已被弃用。 你不能做你想做的,这就是为什么改变是必要的。 如果你的应用程序是旧的,在不允许像选通这样的更改之前创建的,那么你的代码可以工作,但无论如何,你不能将其用于显示内容。您可以使用这种实现来创建交互体验,例如,您可以更改内容,说“感谢喜欢”。。或者“与我们联系,喜欢我们的页面…”

您还可以考虑界面,在那里显示页面插件,在用户喜欢之后,您说谢谢。。。并隐藏页面插件。。。但用户必须始终能够在不喜欢的情况下关闭

要检查用户是否喜欢某个页面,您需要使用:

FB.api上“/me/likes”,然后用响应

if (response.data[likes].name == "Coca-Cola") 
或者。。。更好

if (response.data[likes].id == "40796308305") { 

}
我再说一遍,一件事与另一件事无关。。 您可以检查用户是否喜欢某个页面,但不能基于此类资源限制内容

还有其他检查方法,例如:

如果用户喜欢页面,则对userid/likes/pageid的Get-api调用返回页面信息;如果用户不喜欢页面,则不返回任何内容

为了控制内容消费,您将浪费时间尝试这样做。 你的应用程序必须获得用户的许可,你最好考虑为用户创造另一种体验,而不是提交类似的东西

我还认为,具有良好的开放图形以供分享、评论和选择性喜欢的内容更有效,因为我注意到许多人在获得内容后喜欢和不喜欢该页面

如果你只是。。。例如,在1分钟后提示FB.UI进行共享,您将获得更多结果。。总是将页面插件定位在战略位置,人们自然会喜欢你的页面

然后您可以说更改页面插件元素: 感谢您的喜爱,请与您的朋友分享。。。。 谁还想

或者使用回调来触发共享对话框

老派API调用
不推荐使用FB.Event.subscribe()方法,该方法允许应用程序订阅一系列事件,并在触发时定义回调函数

此外,不推荐使用FQL查询

要检查用户是否喜欢某个页面,您需要user.likes权限,因此您可以尝试:

FB.api上“/me/likes”,然后用响应

if (response.data[likes].name == "Coca-Cola") 
或者。。。更好

if (response.data[likes].id == "40796308305") { }
还有其他检查方法,例如:

如果用户喜欢页面,则对userid/likes/pageid的Get-api调用返回页面信息;如果用户不喜欢页面,则不返回任何内容

您可以使用此调用检查用户是否喜欢某个页面,但不能基于此类资源限制内容


2018年更新的解决方案
但如今,在2018年,最好的方法是设置Webhook

Webhook是Facebook和服务器之间基于订阅的系统。您的应用程序订阅以通过指定的HTTPS端点从Facebook接收更新

这使您的应用程序能够在所选主题集及其字段出现更新时接收通知,因此,您可以跟踪用户配置文件大多数部分的更改,例如关于、照片、帖子、好友和喜欢的内容

Webhooks更新通知作为POST请求发送到您提供的回调URL。通知可以是轻量级的,仅指示字段已更新,或者可以包括新更新的值

您可以订阅的用户配置文件字段的完整列表,例如关于、照片、帖子、朋友和喜欢的内容

设置应用程序以接收Webhooks更新的最简单方法是使用应用程序仪表板,查看Facebook平台文档以获取更多信息


不,不,不。。它可以工作。关于概念,你是对的,而不是关于解决方案。我不知道你想说什么,但只有一个解决方案,它在我的答案中。(我/喜欢与用户_喜欢)“并隐藏页面插件”-这是一个非常糟糕的解决方案,你永远不应该这样做。你能告诉我为什么不这样做吗?我说使用Like按钮回调,应用程序可以在用户执行Like事件后“隐藏”页面插件,Like按钮回调就是为了这个。我们不是说让插件不可见,以便在没有用户交互的情况下获得喜欢,好吗?用户需要一个选项来访问页面。like按钮回调不存在以隐藏它。我相信这甚至是规则中的某个地方。我明白你的意思,但是看,我的意思是,如果你显示一个页面插件,要求用户喜欢,给时间关闭,并且选择取消,如果使用回调,在用户喜欢页面后关闭灯箱,将在第一时间工作,关闭它,我可以
if (response.data[likes].id == "40796308305") { 

}
if (response.data[likes].name == "Coca-Cola") 
if (response.data[likes].id == "40796308305") { }