當試圖從Facebook的圖形API訪問的信息,在這裏我明明做錯事是我的網頁代碼:不對勁,跟我的Facebook圖表URL
它獲取一切,我需要比其他用戶電子郵件地址,我知道你需要延長的權限,我已經要求在我的代碼如下所示。
require 'src/facebook.php';
$app_id = "211665122244023";
$canvas_page = "http://apps.facebook.com/midcitymafia/";
$auth_url = "https://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=email,publish_actions";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
$user_id = $data["user_id"];
if (empty($data["user_id"])) {
echo("<script> top.location.href='" . $auth_url . "'</script>");
} else {
$graph1 = file_get_contents ("https://graph.facebook.com/".$user_id . "/?accesstoken=" . $data["oauth_token"]);
$graph=json_decode($graph1,true);
}
$userid = $user_id;
$username = $graph['name'];
$usergender = $graph['gender'];
$useremail = $graph['email'];
?>
<br>
<?php echo 'ID: ' . $userid; ?>
<br>
<?php echo 'Name: ' . $username; ?>
<br>
<?php echo 'Gender: ' . $usergender; ?>
<br>
<?php echo 'Email: ' . $useremail; ?>
我甩了$圖形變量數組,看看它是什麼召開的信息,這是結果:
array(7) { ["id"]=> string(10) "1469088864" ["name"]=> string(10) "Jack Brown" ["first_name"]=> string(4) "Jack" ["last_name"]=> string(5) "Brown" ["username"]=> string(11) "thebestjack" ["gender"]=> string(4) "male" ["locale"]=> string(5) "en_GB" }
它不包含電子郵件地址,所以顯然與訪問的問題令牌/使用訪問令牌訪問圖形。
當我去我的授權的應用程序在我的Facebook帳戶設置這個程序,它說,在「此應用程式需要您的電子郵件地址‘[email protected]’
支付一點「讚賞,這是不不會鼓勵你回答你的問題。事實上,它可能會做相反的事情。 – Abbas 2012-01-12 13:10:41
好吧,想你可以幫忙嗎? – 2012-01-12 13:16:35
如果您編輯您的問題並添加輸出,它將有助於診斷。此外,用isset檢查$ graph ['email']以查看它是否實際爲空或空。 – Abbas 2012-01-12 13:20:39