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