PHPクライアントライブラリからGMail APIを使用するために自分のサーバー上にアクセストークンを取得しようとしていますが、変数var_drumpの後にNULLを取得するとアクセストークンin getAccessToken();
メソッドを使用します。Google OAuthアクセストークンがリフレッシュトークンでないNULL
私はアクセストークンをどのようにすることができるように間違っていますか?
私はcodeパラメータでURLに有効な認証コードを持っていますが、なぜアクセストークンを取得しようとするとnullになるのかわかりません。何か案は?ここで
が私のコードです:
require_once 'vendor/autoload.php';
$redirect_uri = 'https://website.com/m/?mail=tokened';
$client = new Google_Client();
$client->setAuthConfig('client_secrets.json');
$client->setRedirectUri($redirect_uri);
$client->setAccessType('offline');
$client->setApprovalPrompt('force');
$client->authenticate($_GET['code']);
$access_token = $client->getAccessToken();
var_dump($access_token);
私はさらにGoogleは、この発見サーチし:Google API - request for token from Oauth2 returns null token
をし、これがエラーなしで実行しますものですので、私はそのコードに基づいて、以下を試してみましたが、正確に何をしていません私はまだNULLを取得しています。
今回は、認証コードを実行してサーバー側でアクセストークンをすべて取得しようとしましたが、唯一の違いは今回はアクセス許可を求めるccess Gmailデータ。
require_once 'vendor/autoload.php';
$client = new Google_Client();
$client->setAuthConfig('client_secrets.json');
$client->setScopes('https://mail.google.com');
if($_GET['mail']=='approved'){
$client->setRedirectUri('https://website.com/m/php/googleTokens.php?mail=tokened');
return header('Location: ' . $client->createAuthUrl());
}
else{
$client->authenticate($_GET['code']);
$tokens = $client->getAccessToken();
var_dump($tokens);
}