1

Этот вопрос задает много времени, но у меня есть еще одна проблема. У меня есть доступ к токену успешно и я получил доступ к списку контактов, используя этот google.com/m8/feeds/contacts/ default api. Теперь я хочу получить информацию о пользователе, используя тот же маркер доступа и использовать index.php я использую этот код: Это Google Войти страницу, где любой пользователь Войти с помощью учетной записи Google:Как получить адрес электронной почты пользователя от токена доступа google api php

Входа с Google для получения Контактов

<a href="https://accounts.google.com/o/oauth2/auth?client_id=CLIENT_ID& 
    redirect_uri=callback.php& 
    **scope=https://www.google.com/m8/feeds/&response_type=code**"> 
    <img src="images/sign1.png" alt="" id="signimg"/> 
</a> 

После входа пользователя в аккаунт google на goback.php ниже приведен код для callback.php. Теперь я достану контакты я получил все контакты успешно использует этот маркер доступа

$url = 'google.com/m8/feeds/contacts/default/full? 
     max-results=' . $max_results . '&oauth_token=' . $accesstoken; 
$xmlresponse = curl_file_get_contents($url); 

Теперь я хочу принести userinfo как электронная почта и имя пользователя, используя этот маркер доступа Но я не могу получать какие-либо детали, используя этот маркер доступа.

$userDetails = file_get_contents('https://www.googleapis.com/oauth2/v1/userinfo? 
access_token=' . $accesstoken); 
$userData = json_decode($userDetails); 
echo 'userData='.$userData; 

У меня есть также консоль разработчика Google, для которой есть разрешение или нет. Я дал разрешение на контакт, gmail и google + api. Как я могу получить идентификатор электронной почты пользователя, используя токен доступа.

+0

Здравствуйте, добро пожаловать в SO, пожалуйста, взгляните, как задать вопрос: http://stackoverflow.com/help/how-to-ask Укажите код (не ссылки), то, что вы пробовали, и где вы потерпели неудачу! Спасибо. – Alex

ответ

2
$client = new Google_Client(); 
$client->setApplicationName("Google OAuth Login Example"); 
$client->setClientId($client_id); 
$client->setClientSecret($client_secret); 
$client->setRedirectUri($redirect_uri); 
$client->setDeveloperKey($simple_api_key); 
$client->setAccessType('offline'); 
$client->setScopes(array('https://www.googleapis.com/auth/calendar',"https://www.googleapis.com/auth/userinfo.email")); 


$objOAuthService = new Google_Service_Oauth2($client); 

if ($client->getAccessToken()) { 
    $userData = $objOAuthService->userinfo->get(); 
    $_SESSION['access_token'] = $client->getAccessToken(); 
} 
print_r($userData); 

userdata будет иметь информацию о зарегистрированных пользователях.