按照本指南操作 google 电子表格 - http://voidcanvas.com/node-js-googleapis-v4-spreadsheet/ 我一直收到“googleAuth 不是构造函数”错误。
在网上搜索我发现新版本的 google-auth-library 与旧语法有问题。安装 0.12.0 版本让我进入“通过访问此 URL 授权应用程序:”部分,但提供的 URL 是一个损坏的链接,上面写着:
错误:invalid_request redirect_uri 的参数值无效:无效方案:urn:ietf:wg:oauth:2.0:oob
另一方面,尝试使用 google-auth-library 的当前(更新)版本,我找到了一个修复程序,说要更改这些行
let oauth = require('google-auth-library');
...
var oauth2Client = new oauth.OAuth2(clientId, clientSecret, redirectUrl);
但它创建了“oauth.OAuth2 不是构造函数”错误。
这是在 0.12.0 运行并返回错误 URL 的原始代码。
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);
这是在更新版本 + 修复中运行的代码
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,它返回我完成授权所需的代码,进而更新我的工作表。