Как вы вошли в электронную почту пользователя, используя oauth в Stack Overflow

Я использовал Yahoo на своем сайте. Например, в коде ниже, который я нашел на github $user -> query -> results -> profile -> givenName возвращает имя вошедшего в систему пользователя, $user -> query -> results -> profile -> familyName и так далее.
Я много искал, но все же я не знаю, как получить адрес электронной почты пользователя.

Это мой код:

require('include/http.php');
require('include/oauth_client.php');

$client = new oauth_client_class;
$client->debug = false;
$client->debug_http = true;
$client->server = 'Yahoo';
$client->redirect_uri = 'http://www.example.com';

$client->client_id = '';
$application_line = __LINE__;
$client->client_secret = '';if(($success = $client->Initialize()))
{
if(($success = $client->Process()))
{
if(strlen($client->access_token))
{
$success = $client->CallAPI(
'https://query.yahooapis.com/v1/yql',
'GET', array(
'q'=>'select * from social.profile where guid=me',
'format'=>'json'
), array('FailOnAccessError'=>true), $user);
}
}
$success = $client->Finalize($success);
}
if($client->exit)
exit;
if(strlen($client->authorization_error))
{
$client->error = $client->authorization_error;
$success = false;
}
if($success)
{
$yahname =$user->query->results->profile->givenName.$user->query->results->profile->familyName;

echo '<pre>', HtmlSpecialChars(print_r($user, 1)), '</pre>';
}
else
{
echo HtmlSpecialChars($client->error);
}

Пожалуйста, дайте мне знать, если я делаю что-то не так.

-1

Решение

Я не верю, что профиль содержит адрес электронной почты пользователя (он не указан в Документы профиля Yahoo). Если вы запросили sdpp-w сфера действия идентификатор токена ты получаешь когда обмен кода авторизации на токен доступа содержит адрес электронной почты пользователя под ключом email,

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]