Я пытаюсь получить доступ к API Gmail с помощью моего приложения. Я должен был правильно выполнить все настройки, и я проверяю запрос API, в конкретном запросе на получение сообщений только как чтение.API Gmail: пример запроса API
Мой код:
public function gmail_get_messages()
{
$client = new Google_Client();
$client->setApplicationName("Gmail API test");
$client->setDeveloperKey("MY_KEY");
$client->setClientSecret('MY_CLIENT_SECRET');
$client->setScopes(array('https://www.googleapis.com/auth/gmail.readonly'));
// $client->setAccessToken($token);
$service = new Google_Service_Gmail($client);
$url = 'https://www.googleapis.com/gmail/v1/users/MY_EMAIL/messages';
$header = array("Authorization: access_token {MY_ACCESS_TOKEN}");
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_ENCODING, "gzip");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
$retValue = curl_exec($ch);
$response = json_decode(curl_exec($ch));
$ee = curl_getinfo($ch);
print_r($ee);
print_r($retValue);
}
Ответ:
{ "error": { "errors": [ { "domain": "global", "reason": "authError", "message": "Invalid Credentials", "locationType": "header", "location": "Authorization" } ], "code": 401, "message": "Invalid Credentials" } }
Один главный пункт касается лексемы. Я получил токен доступа и токен обновления как файл в формате json, но я не знаю, как их включить в запрос.
Как правильно передать токены на запрос? Единственное, чего нет, или что-то еще?
Если кто-то может подать пример надлежащего запроса, я был бы очень благодарен!
Разве вы не только что отредактировали другой вопрос? http://stackoverflow.com/questions/30613152/gmail-api-how-to-get-access-token, почему вам нужен новый? – DaImTo
Я действительно отредактировал этот вопрос и ответил тоже. Наконец, я смог получить токены в json-файле. Теперь я пытаюсь включить токены в свой запрос API, чтобы он работал. – johnnyfittizio