Php 使用Codeigniter登录/注册Facebook-用户数据

Php 使用Codeigniter登录/注册Facebook-用户数据,php,facebook,codeigniter,login,Php,Facebook,Codeigniter,Login,我对用户数据有一个问题-我在Facebook登录后收到的唯一数据是“name”和“id”,这是用户的Facebook id。我还需要收到“名字”、“姓氏”和“电子邮件” 我正在本地主机上测试这个网站,并在developers.facebook.com上创建了一个应用程序 也许问题在于应用程序处于开发模式,这就是为什么它没有给我完整的数据 以下是我获取用户数据的代码: <?php include(APPPATH.'libraries/facebook/facebook.php'); cla

我对用户数据有一个问题-我在Facebook登录后收到的唯一数据是“name”和“id”,这是用户的Facebook id。我还需要收到“名字”、“姓氏”和“电子邮件”

我正在本地主机上测试这个网站,并在developers.facebook.com上创建了一个应用程序

也许问题在于应用程序处于开发模式,这就是为什么它没有给我完整的数据

以下是我获取用户数据的代码:

<?php
include(APPPATH.'libraries/facebook/facebook.php');

class Fbconnect extends Facebook {

    public $user = null;
    public $user_id = null;
    public $fb = false;
    public $fbSession = false;
    public $appKey = 0;

    public function Fbconnect() {

        $ci =& get_instance();
        $ci->config->load('facebook', TRUE);
        $config = $ci->config->item('facebook');

        parent::__construct($config);

        $this->user_id = $this->getUser();
        $me = null;
        if($this->user_id) {
            try{
                $me = $this->api('/me');
                $this->user = $me;
            } catch(FacebookApiException $e) {
                error_log($e);
            }
        }
    }
} 

希望这对回答你的问题也有帮助。


您可以使用用于显示这些数据的应用程序的相同Facebook ID登录,也可以使用Facebook工具(如查询Facebook数据库)登录。

您已经在使用API v2.4了吗?然后阅读感谢,我解决了我的问题-在版本2.4中,我们必须准确声明要检索的数据。
$my_profile_info = (new FacebookRequest($session, 'GET', '/me/?fields=id,first_name,last_name,email,picture,gender,location,address,email,hometown'))->execute()->getGraphObject()->asArray();