获取有关Facebook喜欢的信息 - 奇怪的问题

时间:2013-07-01 16:11:10

标签: php facebook facebook-graph-api facebook-javascript-sdk facebook-access-token

我开发了一些facebook应用程序(在php中编写),应该允许用户只有在喜欢某个粉丝页面时才能使用它。

直到今天,当我收到用户关于阻止访问该应用程序的一些反馈时,一切都运行良好。

似乎应用程序不允许他们进入因为他们不喜欢粉丝页面,但重点是那些用户已经喜欢该粉丝页面(我测试了很多次)。

我正在检查用户是否喜欢带有/USER_ID/likes?target_id=PAGE_ID

标准图形请求的粉丝专页

如果用户喜欢该页面,那么这通常会返回一些数组,如果他没有,则返回空数组。在我的情况下,这些用户总是空数组。

我还检查了/USER_ID/likes - 列出了所有用户的喜好,对于普通用户,我得到了他们喜欢的json数组页面的响应,如果是“有问题”的用户我再次获得空数组。

我将PHP与phpsdk结合使用,因此所有请求均使用$facebook->api(...)

我现在有2个用户遇到过这个问题,其他人都很好。

我不确定我是做错了什么,或者是facebook的一些错误。

我很高兴听到有关facebook api经验的人的意见。

提前致谢。

1 个答案:

答案 0 :(得分:0)

问题可能来自未授权应用访问用户信息的用户。您可以使用Facebook API中的已签名请求来查看用户是否喜欢该页面,这将更加可靠。

require 'facebook.php';
$app_id = "app_id";
$app_secret = "app_secret";
$facebook = new Facebook(array(
    'appId' => $app_id,
    'secret' => $app_secret,
    'cookie' => true
));
$signed_request = $facebook->getSignedRequest();
if($signed_request["page"]["liked"] != 1) { 
    // Render the blocker page
}else{
    // Business as usual
}