簡體   English   中英

Facebook PHP Api,無法獲取電子郵件

[英]Facebook PHP Api, can't get email

我正在嘗試為我的Web應用程序建立一個Facebook登錄名,但是我一直無法檢索已記錄的個人資料電子郵件。 我已經嘗試使用其他帳戶進行測試,但是他們都無法返回個人資料電子郵件,並且所有個人資料都在Facebook上注冊了有效的電子郵件。 當我重定向到Facebook登錄頁面時,該框要求正確共享電子郵件地址,但是我仍然沒有收到電子郵件!

在這里獲取登錄網址

$helper = $fb->getRedirectLoginHelper();
$permissions = array('email', 'user_likes');
$loginUrl = $helper->getLoginUrl('url', $permissions);

這里是回調代碼:

$APPID = 'appid';
$APPSecret = 'appsecret';
$fb = new \Facebook\Facebook([
    'app_id' => $APPID,
    'app_secret' => $APPSecret,
    'default_graph_version' => 'v2.5',
]);
$helper = $fb->getRedirectLoginHelper();
if($accessToken){
    $fb->setDefaultAccessToken($accessToken);
    $response = $fb->get('/me?fields=email');
    $userNode = $response->getGraphUser();
    var_dump($userNode);
    echo $userNode->getProperty('email');
}

結果:

object(Facebook\GraphNodes\GraphUser)#66 (1) { ["items":protected]=> array(1) { ["id"]=> string(15) "........" } }

使用此代碼,我只能獲取用戶的ID或名稱,從請求的網址中刪除?fieds=email

我究竟做錯了什么?

您是否要從頁面獲取所有電子郵件? 或使用您的應用程序的人的電子郵件?

/ me?fields = email更改為/ {user-id}?fields = email

要么

檢查您的許可是否正確

更新1:

您的請求網址就是這樣

https://graph.facebook.com/v2.5/ {user-id}?fields = email&access_token = {access-token}

我想到了。 有時,Facebook不會發回用戶的電子郵件。 當用戶未驗證電子郵件時,它將追加。 發生這種情況時,您可以顯示僅用於電子郵件的表格。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM