Php Google OAuth 2:获取具有脱机令牌的访问和刷新令牌

Php Google OAuth 2:获取具有脱机令牌的访问和刷新令牌,php,oauth-2.0,google-oauth,Php,Oauth 2.0,Google Oauth,我正在尝试使用脱机代码对服务器端客户端进行身份验证: $client = new Google_Client(); $client->setApplicationName('API'); $client->setClientId('...'); $client->setClientSecret('...'); $client->setRedirectUri('http://'); $client->setDeveloperKey('...'); $client-&g

我正在尝试使用脱机代码对服务器端客户端进行身份验证:

$client = new Google_Client();
$client->setApplicationName('API');
$client->setClientId('...');
$client->setClientSecret('...');
$client->setRedirectUri('http://');
$client->setDeveloperKey('...');
$client->setAccessType("offline");
$client->setScopes('https://www.googleapis.com/auth/webmasters.readonly');
$client->setApprovalPrompt('force');

$guzzleClient = new \GuzzleHttp\Client(array( 'curl' => array( CURLOPT_SSL_VERIFYPEER => false, ), ));
$client->setHttpClient($guzzleClient);

$client->authenticate($offline_code));
产出:

<b>Fatal error</b>:  Uncaught exception 
'GuzzleHttp\Exception\ClientException' with message 'Client error: `POST https://www.googleapis.com/oauth2/v4/token` resulted in a `400 Bad Request` response:

 invalid_grant
 Bad Request
致命错误:未捕获异常
“GuzzleHttp\Exception\ClientException”和消息“客户端错误:`POST”https://www.googleapis.com/oauth2/v4/token`导致“400错误请求”响应:
无效补助金
错误的请求

我使用的凭据可以很好地用于获取访问和刷新令牌,但这需要用户交互。我还仔细检查了脱机令牌是否已颁发给同一应用程序。我还应该检查什么

许多可能的解释。网站上有一篇很好的帖子,上面列出了他们。尝试搜索“无效授权”。最常见的情况是,您发送的刷新令牌已损坏/丢失。$offline_代码中是什么?理论上,我应该被授予只有脱机令牌的访问权限$脱机代码是脱机令牌。这应该是非常有用的特性。在访问和刷新令牌的帮助下,我正在接收数据。但要获得它们,我需要使用OAuth2在服务器端登录。我有两种方法:1)尝试搜索为什么我不能使用离线令牌进行身份验证2)通过用户交互获取访问和刷新令牌,并使用它们进行操作参考谷歌文档,“离线令牌”是什么?