如何解决需要 Google 提供的电子邮件地址以及我们从 Alexa Skill 收到的访问令牌?
我能够在 Alexa Skill 中使用 Google Auth v2 关联帐户。我能够获得访问令牌。现在我想获取用户用来链接帐户的 Google 电子邮件地址。那么我如何才能获得该 Google 电子邮件地址?
解决方法
使用 Oauth2 范围“https://www.googleapis.com/auth/userinfo.email”。
将范围添加到您的 Google 客户端(以 PHP 版 Google 库为例):
$googleClient = new Google_Client();
// Your code here with Client ID,Secret,...
$googleClient->addScope('https://www.googleapis.com/auth/userinfo.email');
这会给你用户的电子邮件。
if(isset($_GET['code'])) {
// Your code here,the login code is in $_GET['code']
/**
* Get access token
*/
$token = $googleClient->fetchAccessTokenWithAuthCode($_GET['code']);
$googleClient->setAccessToken($token['access_token']);
// Create Google Auth Service with the Google Client
$google_auth = new Google_Service_Oauth2($googleClient);
// Get the userinfo
$google_auth_info = $google_auth->userinfo->get();
// Get the E-Mail:
$email = $google_auth_info->email;
}
我认为您要查找的部分是 authinfo->get()->email
,但我添加了更多上下文以便您了解如何使用它。
不要忘记也在您的 Google Developers Console 中启用此范围: https://console.cloud.google.com/apis/credentials/consent -> 编辑 -> 步骤 2:范围
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。