gpt4 book ai didi

Node.js EveryAuth 获取 Google 电子邮件地址

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:09 31 4
gpt4 key购买 nike

我尝试使用 EveryAuth NPM 库向 google 进行 OAuth2.0 调用时检索 google 电子邮件地址。有人设法使用 EveryAuth 返回电子邮件吗?

everyauth.google
.entryPath('/auth/google')
.callbackPath('/auth/google/callback')
.appId('216450162097.apps.googleusercontent.com')
.appSecret('8b6yf2nznWHgAu7iKNyGn-0F')
.scope(['https://www.googleapis.com/auth/userinfo.email'])
.findOrCreateUser( function(session, userAttributes) {
console.log(userAttributes); })
.redirectPath('/');

范围:https://www.googleapis.com/auth/userinfo.email导致异常:

错误:错误401(未找到)!!1显示: block ;高度:55px;边距:0 0 -7px;宽度:150px}* > #g{margin-left:-2px}#g img{可见性:隐藏}* html #g img{可见性:可见}* +html #g img{可见性:可见} Google

401。这是一个错误。

您的请求中有错误。这就是我们所知道的。

在 [object Object].fail (/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/lib/promise.js:50:15) 在事件发射器处。 (/Users/thegoleffect/Documents/Projects/Spoondate/nitous/node_modules/everyauth/lib/modules/google.js:58:15) 在 EventEmitter.emit (events.js:67:17) 在EventEmitter._respond(/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/node_modules/reSTLer/lib/reSTLer.js:127:12) 在EventEmitter._fireEvents(/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/node_modules/reSTLer/lib/reSTLer.js:131:52) 在/Users/thegoleffect/Documents/Projects/Spoondate/nitrous/node_modules/everyauth/node_modules/reSTLer/lib/reSTLer.js:115:19 在传入消息。 (/Users/thegoleffect/Documents/Projects/Spoondate/nitous/node_modules/everyauth/node_modules/reSTLer/lib/reSTLer.js:205:5) 在传入消息。 (/Users/thegoleffect/Documents/Projects/Spoondate/nitous/node_modules/everyauth/node_modules/reSTLer/lib/reSTLer.js:113:32) 在 IncomingMessage.emit (events.js:81:20) 在 HTTPParser.onMessageComplete (http.js:133:23)

最佳答案

根据google范围和 api 端点略有不同,这让我有点困惑。如果您将 google.js 更改为以下内容,Google Auth2.0 api 将返回用户的电子邮件地址。

  .fetchOAuthUser( function (accessToken) {
var promise = this.Promise();
rest.get('https://www.googleapis.com/userinfo/email', {
query: { oauth_token: accessToken, alt: 'json' }
}).on('success', function (data, res) {
console.log(data);
var oauthUser = { email: data };
promise.fulfill(oauthUser);
}).on('error', function (data, res) {
console.log(data);
promise.fail(data);
});
return promise;
});

关于Node.js EveryAuth 获取 Google 电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7960847/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com