2015-09-02 2 views
1

Я пытаюсь получить список сообщений gmail с помощью Google API. Мне удается получить мой список контактов и некоторые другие ресурсы Google, используя этот метод curl, но я получаю «недопустимые учетные данные» всякий раз, когда я пытаюсь получить список адресов электронной почты. - Обратите внимание, что мои области установлены правильно.API Gmail с сообщением списка PHP/Curl

Вот код PHP:

<? 

$thetokenarray=array(); 
$thetokenarray= json_decode($_SESSION["token"] ,true); 
$thetoken = $thetokenarray["access_token"] ; 

$thedomain = substr(strrchr($_SESSION["email"], "@"), 1); 

$ch = curl_init(); 
$headers = array("Authorization: access_token ".$thetoken.""); 
print_r($headers); 

curl_setopt($ch, CURLOPT_URL, 'https://www.googleapis.com/gmail/v1/users/enattee%40gmail.com/messages'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
$response = curl_exec($ch); 
curl_close($ch); 

$response = json_decode($response,true); 
print_r($response); 

?> 

Вот Google Ответ:

массиву ([ошибка] => массив ([ошибки] => Array ([0] => Array ([ domain] => global [reason] => authError [message] => Недопустимые учетные данные [locationType] => header [location] => Авторизация)) [code] => 401 [message] => Неверные учетные данные))

А вот мой маркер обратной связи от Google при использовании https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=ya29.4gE6OJdoxxxT1UP0Yxxxxy3DvlPphF-1CVIFPfqp0j9Cuhm-hT0W_Qy3oGrcF-

{ 
"issued_to": "64125009955-1hlmj0jgi9j2hd4sxxxxxaem9c9qhqcf8f.apps.googleusercontent.com", 
"audience": "64125xxxx09955-1hlmj0jgixxxxx9c9qhqcf8f.apps.googleusercontent.com", 
"user_id": "10597422xxxx25084", 
"scope": "https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/gmail.readonly https://www.google.com/m8/feeds/ https://www.googleapis.com/auth/admin.directory.user.readonly https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/plus.profile.emails.read https://www.googleapis.com/auth/plus.moments.write https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/plus.profile.agerange.read https://www.googleapis.com/auth/plus.profile.language.read https://www.googleapis.com/auth/plus.circles.members.read", 
"expires_in": 3427, 
"email": "[email protected]", 
"verified_email": true, 
"access_type": "offline" 
} 

В конце концов, если есть более простой и другой способ извлечения вошедшего в список пользователей электронной почты это было бы здорово, а :)

ответ

0

На самом деле код был в порядке. Генератор AuthUrl был настроен с неправильными параметрами на моем тестовом сервере.

Для тех, кто хочет использовать код, используется Google-PHP-Api https://github.com/google/google-api-php-client, который используется в этом примере.

Смежные вопросы