php - 无法从 google API 获取用户信息
问题描述
我正在使用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 凭据,但我找不到从哪里获取它们,并且大多数关于相同问题的答案都来自上面的脚本。加上谷歌的 API 文档说范围是正确的。
我真的很难理解它是如何工作的。
解决方案
推荐阅读
- php - How to get domain/referer name from POST form that action points to other domain
- xcode - Swap out old project with new one
- scikit-learn - 为什么我的 r^2 值一直是负数?
- html - 如何在另一个 div 元素中获取图像以对悬停在最外面的 div 元素上做出反应?
- html - Avoid inheriting of parent's css effect
- react-native - React Redux 减速器没有返回
- python - I can't browse the pages Beautifulsoup
- matlab - RC滤波器的MATLAB Lsim初始值不起作用
- python-3.x - 如何使用 Python3 在 Google-docs 文档中执行文本搜索
- java - is this use of objects redundant and/or inefficient?