HybridAuth Facebook 登录错误:“无效范围:offline_access、publish_stream、read_friendlists”

Posted

技术标签:

【中文标题】HybridAuth Facebook 登录错误:“无效范围:offline_access、publish_stream、read_friendlists”【英文标题】:HybridAuth Facebook login error: "Invalid Scopes: offline_access, publish_stream, read_friendlists" 【发布时间】:2015-07-17 13:15:42 【问题描述】:

我正在使用 HybridAuth 库和 CodeIgniter Bonfire 添加 Facebook 登录功能。我将库和所有相关的必需文件添加到Bonfire

点击用 Facebook 登录按钮后,我被重定向到 Facebook 授权页面,但 Facebook 给出了这个错误:

无效范围:offline_access、publish_stream、read_friendlists。这 消息仅显示给开发人员。您的应用程序的用户将忽略 如果存在这些权限。请阅读有效的文档 权限: https://developers.facebook.com/docs/facebook-login/permissions..

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

为了详细说明 @luschn 的回答,permissions which HybridAuth requests from Facebook by default(截至 2.4.1 版)是email, user_about_me, user_birthday, user_hometown, user_website, offline_access, read_stream, publish_stream, read_friendlists

以下是如何在您的 HybridAuth 配置文件中删除这些折旧范围:

<?php
return
    array(
        'base_url' => 'http://localhost/your/hybridauth/endpoint/index.php',

        'providers' => array (

            'Facebook' => array (
                'enabled' => true,
                'keys'    => array ( 'id' => 'YOUR-APP-ID', 'secret' => 'YOUR-APP-SECRET-TOKEN' ),
                'scope'   => 'email, user_about_me, user_birthday, user_hometown, user_website, read_stream',
                'trustForwarded' => false
            ),
        ),
    );

【讨论】:

【参考方案2】:

多年来,所有这些范围/权限都已弃用 - 这正是错误消息告诉您的内容,它们只是不存在。您需要查看 Facebook 文档以了解您到底需要哪些权限。 API Reference 是一个寻找答案的好地方。

【讨论】:

【参考方案3】:

@Arman H 的当前答案无效,如果您在 scope 中定义 email,您将收到公开的个人资料和电子邮件地址

<?php
return
    array(
        'base_url' => 'http://localhost/your/hybridauth/endpoint/index.php',
        'providers' => array (
            'Facebook' => array (
                'enabled' => true,
                'keys'    => array ( 'id' => 'YOUR-APP-ID', 'secret' => 'YOUR-APP-SECRET-TOKEN' ),
                'scope'   => 'email',
                'trustForwarded' => false
            ),
        ),
    ); 

【讨论】:

我相信无论您提出什么要求,您都会收到公开的个人资料。您是否试图不获取公开资料?【参考方案4】:

只需转到应用程序高级设置并升级您的应用程序版本,它应该至少为 2.7

【讨论】:

我的是 2.11 版,但我仍然收到该错误 这意味着您的回调网址有问题,请正确编码您的网址。 @aidonsnous

以上是关于HybridAuth Facebook 登录错误:“无效范围:offline_access、publish_stream、read_friendlists”的主要内容,如果未能解决你的问题,请参考以下文章

Hybridauth Facebook 使用本机应用程序在移动设备上登录

您无法直接访问此页面 - HybridAuth 社交登录

PHP HybridAuth 社交登录根本不起作用。重定向到 ?hauth.start=Facebook&hauth.time

Hybridauth - PHP - Facebook 返回了无效的用户 ID

HybridAuth:如何为现有用户请求额外权限?

HybridAuth 身份验证 cookie