Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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
Php 无法为某些用户获取类似的页面_Php_Facebook Fql - Fatal编程技术网

Php 无法为某些用户获取类似的页面

Php 无法为某些用户获取类似的页面,php,facebook-fql,Php,Facebook Fql,我开发了一个PHP应用程序,如果用户喜欢某个页面,只需获取它 我通过以下方式登录用户: $this->_facebook = new Facebook(array( 'appId' => "123", 'secret' => "346", )); $this->_facebookUser = $this->_facebook->getUser(); $this->_facebook->api('/me');

我开发了一个PHP应用程序,如果用户喜欢某个页面,只需获取它

我通过以下方式登录用户:

$this->_facebook = new Facebook(array(
        'appId' => "123",
        'secret' => "346",
    ));
$this->_facebookUser = $this->_facebook->getUser();
$this->_facebook->api('/me');
然后

    $checkIfUserLikePage = $this->_facebook->api(array(
        "method" => "fql.query",
        "query" => "select uid from page_fan where uid=me() and page_id=" . $pageid,
    ));
这主要是有效的,但对于某些用户不起作用,它返回一个空数组。我已在线检查,我的应用程序可能缺少“用户喜欢”权限。事实上我没有得到这个许可。因此,我再次发现我应该添加权限,卸载应用程序,然后重试

因此,我:

  • 登录developer.facebook.com>apps>myapp>App details>配置App Center权限
  • 在“用户和朋友权限”文本区域中添加了“用户喜欢”
  • 拯救
  • 要求测试用户删除myapp
  • 要求测试用户访问应用程序
  • 因此,我仍然为用户获得一个空数组。
    还有什么不对?谢谢

    请不要将app center中的权限与您传递给范围的权限弄错。提示用户输入权限时,是否已将“用户喜欢”添加到范围中

    使用JS-SDK,您可以这样做,例如:

    FB.login(function(response) {
        // Do some fancy stuff
    }, {scope: 'user_likes'});
    
    还要确保您拥有有效的用户访问令牌。PHP-SDK提供了一个名为“getAccessToken()”的方法,该方法返回当前访问令牌

    您也可以简单地尝试打印getUser()的结果,它返回当前用户的userID。如果您得到0,您可以非常确定该用户未连接到您的facebook应用程序,因此您将无法在FQL查询中使用me()

    还可以使用
    /{user id}/permissions
    查询图形API。您将得到一个返回的json对象,该对象包含用户授予的所有权限。当然,要做到这一点,您的应用程序需要一个有效的已连接用户

    我希望能给你一些有用的建议。如果没有任何帮助,请尝试发布更多代码


    快乐编码

    在PHP中我使用了:
    $this->\u facebook->getLoginUrl(数组('scope'=>'email,user_likes')
    然后
    $this->\u facebook->api(“/me/likes/PAGE\u ID”)