我正在为我的应用集成Google身份验证以创建日历事件。
const {google} = require('googleapis');
const SCOPES = ['https://www.googleapis.com/auth/calendar','https://www.googleapis.com/auth/userinfo.email']
我已经在身份验证中使用了上述范围,并生成了URL并发送给客户端。身份验证获得成功,我能够接收代码并生成令牌。
但是使用代码,无论谁登录,我都需要经过身份验证的用户的电子邮件。是否有任何方法/示例来知道如何获取用户的电子邮件?我在谷歌搜索找到解决方案。但是我没明白。帮助我了解这一点。
答案 0 :(得分:-1)
收到令牌后,您需要使用该令牌向userinfo
端点发出HTTP请求,以获取所需的用户信息。
您可以从https://accounts.google.com/.well-known/openid-configuration上的发现文档中获取该端点的url。
用于获取用户信息的当前URL为https://openidconnect.googleapis.com/v1/userinfo。
答案 1 :(得分:-1)
如果您在用户的主日历上执行calendar get。所有用户都有主日历
https://example.com/character/view/
Id和摘要均为用户的电子邮件地址。通过这种方式,您将不需要请求{
"kind": "calendar#calendar",
"etag": "\"JWPyaEfg9X1jMhlHCcI4tl2h6uo/AxePbI13h8-KuIOLek\"",
"id": "xxxx@gmail.com",
"summary": "xxx@gmail.com",
"timeZone": "Europe/Copenhagen",
"conferenceProperties": {
"allowedConferenceSolutionTypes": [
"eventHangout"
]
}
}
范围
注意:我不是node.js开发人员,这是一个疯狂的猜测,您必须解决这个问题
https://www.googleapis.com/auth/userinfo.email