-1

Я хочу получить электронную почту пользователя, когда пользователь вошел в мое приложение для холста facebook, используя только fb-график api? Я не хочу использовать facebook php sdk, поскольку я не могу справиться с этим кодом (на самом деле, я много пробовал, но не смог) Plz помочьКак получить электронную почту при входе в приложение холста, используя график fb?

$app_id = "xxxxxxx"; 

$canvas_page = "xxxxxxxx"; 

$auth_url = "http://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page); 

$signed_request = $_REQUEST["signed_request"]; 

list($encoded_sig, $payload) = explode('.', $signed_request, 2); 

$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), TRUE); 

if(empty($data["user_id"])) 
{ 
    echo("<script> top.location.href='" . $auth_url . "'</script>"); 
} 
else 
{ 
    echo ("Welcome User: " . $data["user_id"]); 
    echo ("Welcome User: " . $data["email"]); //i tried this 
} 

ответ

0

поле «электронная почта» можно найти в user объекте FB API, но только если вы явно просили email разрешения. Существует много способов запросить это разрешение, например.

$param['scope'] = "email"; 
$login_url = $facebook->getLoginUrl($param); 
echo 'Please <a href="' . $login_url . '">login.</a>'; 

напечатает URL-адрес для входа, который разрешает разрешения электронной почты. Затем вы можете получить по электронной почте через объект пользователя, как показано в следующем примере:

$user_profile = $facebook->api('/me','GET'); 
echo "email: ".$user_profile['email']; 

Note: There is no way for apps to obtain email addresses for a user's friends.