获取Facebook用户电子邮件使用图形API PHP SDK
问题描述:
我正在使用Facebook的图形API与PHP我想获取用户信息登录用户到我的网站,但经过大量的搜索和阅读我得到所有我需要的数据需要发邮件。获取Facebook用户电子邮件使用图形API PHP SDK
<?php
include_once('../dashboard/includes/db_connection.php');
// added in v4.0.0
require_once 'autoload.php';
use Facebook\FacebookSession;
use Facebook\FacebookRedirectLoginHelper;
use Facebook\FacebookRequest;
use Facebook\FacebookResponse;
use Facebook\FacebookSDKException;
use Facebook\FacebookRequestException;
use Facebook\FacebookAuthorizationException;
use Facebook\GraphObject;
use Facebook\Entities\AccessToken;
use Facebook\HttpClients\FacebookCurlHttpClient;
use Facebook\HttpClients\FacebookHttpable;
// init app with app id and secret
FacebookSession::setDefaultApplication('1393606834280204','3faf1ede6ccc48d6adf096f1a6850359');
// login helper with redirect_uri
$helper = new FacebookRedirectLoginHelper('http://lhefficise.com/facebook/fbconfig.php');
try {
$session = $helper->getSessionFromRedirect();
} catch(FacebookRequestException $ex) {
// When Facebook returns an error
} catch(Exception $ex) {
// When validation fails or other local issues
}
// see if we have a session
if (isset($session)) {
// graph api request for user data
$request = new FacebookRequest($session, 'GET', '/me?fields=id,first_name,last_name,name,email');
$response = $request->execute();
// get response
$graphObject = $response->getGraphObject();
// $fbid = $graphObject->getProperty('id'); // To Get Facebook ID
// $fbfullname = $graphObject->getProperty('name'); // To Get Facebook full name
// $fbfirstname = $graphObject->getProperty('name'); // To Get Facebook First Name
// $fblastname = $graphObject->getProperty('name'); // To Get Facebook First Name
// $femail = $graphObject->getProperty('email'); // To Get Facebook email ID
$obj = $graphObject->asArray();
echo "<pre>";
print_r($obj);exit;
} else {
$loginUrl = $helper->getLoginUrl();
header("Location: ".$loginUrl);
}
?>
我送请求/me?fields=id,first_name,last_name,name,email
但我没有收到电子邮件的所有其他信息是好的。
Array
(
[id] => xxxxxxxxxx83xxxx
[first_name] => Shan
[last_name] => Khaliq
[name] => Shan Khaliq
)
我可能做错了什么而得到的记录..
我已经有电子邮件检查链接的许可。
在此先感谢。
答
我刚刚发现这一点后我才弄明白。
$loginUrl = $helper->getLoginUrl(array('scope' => 'email'));
我需要把国营石油项目,以从Facebook获取登录URL。
家伙感谢我真正适合这个问题。