[英]In Facebook Graph API, what are the API calls to get a user's email address and gender?
[英]How to get the email address of a Facebook user using the graph API?
我一遍又一遍地閱讀這篇文章 ,但這對我來說沒有意義。
我想要做的是獲取Facebook用戶的電子郵件地址,以便我可以將其存儲在字符串中並進行比較,以查看它是否與我的MySQL數據庫中現有用戶的電子郵件相匹配。 當用戶首次授予對應用程序的訪問權限時,我只需要執行此操作。
在我的應用開發人員界面的“經過身份驗證的引薦”部分中,我已將“用戶和朋友權限”設置為包含“電子郵件”。
在我網站的“畫布”區域內,我有以下代碼:
include('facebook/base_facebook.php');
include('facebook/facebook.php');
$facebook = new Facebook(array(
'appId' => "XXXXXXXXXXXXXXX",
'secret' => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
));
$user = $facebook->getUser();
if ($user)
{
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}
如果我是var_dup()$ user,我可以看到用戶ID(雖然不是很多)似乎是正確的,所以我相信我連接到Facebook上的正確位置。
但是后來有這個建議的代碼行 ,這意味着它會返回一個電子郵件地址,但是當我回顯它看看它的樣子時,它不會返回一個電子郵件地址:
echo "<br/>" . $facebook->getLoginUrl(array('req_perms' => 'email'));
我覺得它不會,因為它看起來不對我,但另一方面,我只是不知道還有什么用它或放在哪里。
然后我也遇到了這篇文章 ,其中的代碼與HTML混合在一起讓我更加困惑。
假設我的用戶已授予我的應用程序查看其電子郵件的權限,是不是有一種簡單的方法來獲取它? 像我這樣沒有經驗的程序員可以掌握的東西?
您使用的是過時的方法。 您可以使用以下代碼檢索電子郵件。
您可以從以下網址找到有關Facebook Connect的更多信息: http : //25labs.com/tutorial-integrate-facebook-connect-to-your-website-using-php-sdk-v-3-xx-which-uses-graph- API /
$app_id = "xxxxxxxxx";
$app_secret = "xxxxxxxxxx";
$site_url = "xxxxxxxxxxxxx";
include_once "src/facebook.php";
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
));
$user = $facebook->getUser();
if($user){
try{
$user_profile = $facebook->api('/me');
}catch(FacebookApiException $e){
$user = NULL;
}
}
if($user){
$logoutUrl = $facebook->getLogoutUrl();
}else{
$loginUrl = $facebook->getLoginUrl(array(
'scope' => 'email',
'redirect_uri' => $site_url,
));
}
if($user){
Echo "Email : " . $user_profile['email'];
}
您可以將Facebook用戶名與電子郵件地址連接起來。 例如,我的用戶名是Facebook上的“umair.hamid.79”。 它將是“umair.hamid.79@facebook.com”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.