【问题标题】:unable to get fan page to check if user has liked this page or not using fql无法获取粉丝页面以检查用户是否喜欢此页面或未使用 fql
【发布时间】:2012-07-02 09:05:07
【问题描述】:

我只想知道用户是否喜欢页面,以下是我的代码:

    function checkPageLike($fbuid,$token){
    $fqlquery = "SELECT uid FROM page_fan WHERE page_id = ".$this->config->item('pageId')." and uid=".$fbuid;
    $res = "0";
    try{

        $ret_obj = $this->facebook->api(array('method' => 'fql.query',
                'query' => $fqlquery,
        ),'get',array('access_token' => $token));
        if(checkArray($ret_obj ) && $ret_obj [0]['uid']){
            $res = "1";
        }
    }catch(Exception $e){
        print_r($e);
    }
    return $res;

}

因此,通过使用此代码,我可以检查我们的页面是否被该用户喜欢。它正在工作。但是其中一位 QA 做了一些不同的事情,可能是他第一次没有授予权限,然后他授予了权限,安装了应用程序。如果用户喜欢该页面,我们上面的代码无法获得。该用户删除了该应用。然后再次安装但同样的问题。他从不同的机器登录,但我们上面的代码仍然无法获取该用户是否喜欢页面。所以我想知道为什么会发生这样的问题?是应用权限的问题吗?用户设置?或者我们使用错误的方式来检查用户是否喜欢该页面?为什么 fql 无法判断该用户是否喜欢该页面?我们的页面是否在该用户的粉丝页面中?它对其他用户工作正常。有点模糊,但请告诉你们有什么想法吗?

提前谢谢各位。

【问题讨论】:

    标签: facebook facebook-like facebook-fql facebook-apps facebook-page


    【解决方案1】:

    这是我的笔记:

    1. 您应该使用 Graph API 用户 likes 连接而不是 fql:/PROFILE_ID/likes/PAGE_ID
    2. 确保您拥有user_likes 权限
    3. 查看answer 了解以上内容
    4. 如果您正在尝试建立一个扇门,那么您甚至不需要用户授权,因为当您登陆您的页面选项卡时,Facebook 会向您发送用户的“粉丝”状态。 See here

    【讨论】:

      【解决方案2】:

      确保您的 $fbuid$token 获取有效值。此外,我们需要知道 $this->config->item('pageId') 是否包含要检查的正确 pageId。您可能需要编辑您的问题以包括其中的值以及获取方式。

      您可以在此处遵循类似的示例。

      https://stackoverflow.com/a/10863558/1105497

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-13
        • 1970-01-01
        • 2015-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-08
        相关资源
        最近更新 更多