到目前爲止,我已設置檢索基本的用戶信息,沒有任何擴展。我也試圖獲得用戶的電子郵件,沒有成功。這是我得到的:使用Facebook的PHP SDK來檢索電子郵件
$facebook = new Facebook(array(
'appId' => APP_ID,
'secret' => APP_SECRET,
'cookie' => true,
));
$session = $facebook->getSession();
if (!empty($session)) {
try {
$params = array(
'scope' => 'email',
'redirect_uri' => 'https://www.dormduels/splash_test'
);
$loginUrl = $facebook->getLoginUrl($params);
$uid = $facebook->getUser();
$access_token = $facebook->getAccessToken();
echo $access_token;
$user = $facebook->api('me?fields=name,first_name,last_name,username,email&access_token='.$access_token);
echo "<pre>";
print_r($user);
exit();
問題是。在Facebook圖形瀏覽器中測試時,它顯示的getAccessToken不顯示擴展數據,如電子郵件,只有基本的。我如何請求啓用更多權限的訪問令牌?
更新我的問題與getLoginUrl沒有運氣 – 2012-07-17 19:50:49
我認爲你可能會把它放在一個錯誤的地方(這個例子在這種情況下是一個語法錯誤),你應該把getLoginUrl()調用放在'if($ facebook-> getUser )){...',也只是調用它不會將用戶重定向到t他的網址返回。你需要發送一個http頭或其他方式來發送瀏覽器,比如'header(「Location:」。$ loginUrl);' – complex857 2012-07-17 19:58:15
已更新爲新的sdk,你是對的我已經過時了,並且將getloginurl移入了if用戶,但仍...沒有...沒有權限的訪問令牌正在givin – 2012-07-17 20:12:12