首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >googleAuth不是一个构造器,google-api版本问题

googleAuth不是一个构造器,google-api版本问题
EN

Stack Overflow用户
提问于 2019-02-16 06:49:07
回答 1查看 1K关注 0票数 0

按照这个指南来操作谷歌电子表格--我一直收到"googleAuth不是一个构造器“的错误。

在网上搜索,我发现新版本的google-auth-library的旧语法有一个问题。安装0.12.0版本会让我进入"authorize App by App this URL:“部分,但提供的URL是一个断开的链接,上面写着:

错误: redirect_uri: Invalid scheme: urn:ietf:wg:oauth:2.0:oob的参数值无效

另一方面,在尝试使用google-auth-library的当前(更新)版本时,我发现了一个修复程序,可以更改这些行

代码语言:javascript
复制
let oauth = require('google-auth-library');
...
var oauth2Client = new oauth.OAuth2(clientId, clientSecret, redirectUrl);

但是它创建了一个"oauth.OAuth2不是构造函数“的错误。

这是在0.12.0上运行的原始代码,并返回错误的URL。

代码语言:javascript
复制
let fs = require('fs');
let readline = require('readline');
let googleAuth = require('google-auth-library');
...
authorize(credentials) {
var clientSecret = credentials.installed.client_secret;
var clientId = credentials.installed.client_id;
var redirectUrl = credentials.installed.redirect_uris[0];
var auth = new googleAuth();
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);

这是在更新版本+修复版本上运行的代码

代码语言:javascript
复制
 let fs = require('fs');
 let readline = require('readline');
 let oauth = require('google-auth-library'); 
 ...
 authorize(credentials) {
 var clientSecret = credentials.installed.client_secret;
 var clientId = credentials.installed.client_id;
 var redirectUrl = credentials.installed.redirect_uris[0];
 ///var auth = new googleAuth();
 var oauth2Client = new oauth.OAuth2(clientId, clientSecret, redirectUrl);

我希望结果是一个很好的URL,它返回我完成授权所需的代码,并反过来更新我的工作表。

EN

回答 1

Stack Overflow用户

发布于 2019-02-16 07:04:53

对于较新的版本,您需要使用可以通过解构获得的OAuth2Client属性。其他常见属性为authJWT

代码语言:javascript
复制
const {OAuth2Client} = require('google-auth-library');

另请参阅https://www.npmjs.com/package/google-auth-library

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54718039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档