无法从Google API获取用户信息

时间:2019-09-13 22:19:39

标签: php google-api google-api-php-client

我正在使用 Google API 允许我的用户从我的网站发送电子邮件。电子邮件发送得很好,但是看起来很奇怪,我很难获得用户的信息,尤其是他的电子邮件。

这是我编写的代码:

$client = new Google_Client();
$client->addScope(Google_Service_Gmail::GMAIL_READONLY);
$client->addScope(Google_Service_Gmail::GMAIL_LABELS);
$client->addScope(Google_Service_Gmail::GMAIL_MODIFY);
$client->setAuthConfig(__DIR__.'/credentials.json');
$client->setAccessType('offline');
$client->setPrompt('select_account consent');
$accessTokenLive = $client->fetchAccessTokenWithRefreshToken($refreshToken);
$client->setAccessToken($accessTokenLive);
$oauth = new Google_Service_Oauth2($client);
$accessToken = $client->getAccessToken();
$userData = $oauth->userinfo->get();
var_dump($userData);

$refreshToken是从数据库中获取的

我收到一条错误消息:

  

请求缺少必需的身份验证凭据。预期的OAuth 2访问令牌,登录cookie或其他有效的身份验证凭据。

我了解$ oauth-> userinfo-> get()可能需要OAuth凭据,但是我找不到从何处获取它们,并且关于相同问题的大多数答案都来自上述脚本。加上Google的API文档说,范围是正确的。

我真的很难理解它是如何工作的。

0 个答案:

没有答案