需要 Google 提供的电子邮件地址以及我们从 Alexa Skill 收到的访问令牌?

如何解决需要 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?