2
我目前在我的Codeigniter應用程序中使用下面的代碼來從應用程序用戶獲取Facebook數據。Facebook用戶通過新SDK擴展權限
<?php
require_once('facebook-php-sdk/src/facebook.php');
// Create our Application instance (replace this with your appId and secret).
$facebook= new Facebook(array(
'appId' => '2453463636',
'secret' => '365653656565656',
'allowSignedRequest' => false,
));
$_REQUEST += $_GET;
$user = $facebook->getUser();
if ($user) {
try {
// Get the user profile data you have permission to view
// $user_profile = $facebook->api('/me');
$user_profile = $facebook->api('/me?fields=picture.width(100).height(100),first_name,last_name,username,email');
echo $user_profile['email'];
echo $user_profile['username'];
} catch (FacebookApiException $e) {
$user = null;
}
} else {
die('<script>top.location.href="'.$facebook->getLoginUrl().'";</script>');
}
?>
這工作在連接罰款,並返回迴盪在頁面上的用戶的username
,但是電子郵件無法正常工作。電子郵件返回顯示爲「未定義索引:電子郵件」視圖中的錯誤。
我幾天前使用這個非常相同的東西來獲取電子郵件,它的工作,但是這是在本地主機。它在localhost上得到的電子郵件很好,當被推送到服務器時,它不識別email
,但它確實識別並獲得username
。
爲什麼郵件不被識別?
我使用的是最新版本的SDK:Facebook的PHP SDK(v.3.2.3)
+1指向「Facebook未經他們許可不共享用戶電子郵件」 –
@KiranRS但是哪裏以及如何?你能提供代碼聲明嗎? – Tester