ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

php – 无法为某些用户获取页面

2019-08-31 08:30:23  阅读:175  来源: 互联网

标签:php facebook-fql


我已经开发了一个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,
    ));

这主要是有效的,但对于一些用户没有,它返回一个空数组.我在网上查了一下,我的应用可能缺少* user_likes *权限.事实上我没有这个许可.所以我再次发现我应该添加权限,卸载应用程序并重试.

所以我:

>登录到developer.facebook.com>应用> myapp>应用详情>配置App Center权限
>将“user_likes”添加到“用户和朋友权限”文本区域
>保存
>要求测试用户删除myapp
>要求测试用户访问该应用程序

结果我仍然为用户获得一个空数组.
还有什么不对?谢谢

解决方法:

不要将应用程序中心的权限误认为是您传递给范围的权限.在提示用户输入权限时,您是否已将“user_likes”添加到范围中?

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

FB.login(function(response) {
    // Do some fancy stuff
}, {scope: 'user_likes'});

还要确保您拥有有效的用户访问令牌.您的PHP-SDK提供了一个名为“getAccessToken()”的方法,该方法返回当前的访问令牌.

您还可以简单地尝试打印getUser()的结果,该结果返回当前用户的userID.如果你得到0,你可以非常确定用户没有与你的facebook应用程序连接,因此你无法在FQL查询中使用我().

还可以使用/ {user-id} / permissions查询图API.您将获得一个返回的json对象,其中包含用户提供的所有权限.当然,您需要一个有效的连接用户与您的应用程序,以便这样做.

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

快乐的编码!

标签:php,facebook-fql
来源: https://codeday.me/bug/20190831/1774280.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有