Следуя этому руководству по работе с электронными таблицами Google - http://voidcanvas.com/node-js-googleapis-v4-spreadsheet/ Я получаю сообщение об ошибке "googleAuth is not constructor".
При поиске в Интернете обнаружена новая версия google-auth-В библиотеке есть проблема со старым синтаксисом.При установке версии 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-адрес, который возвращает код, необходимый для завершения авторизации, и, в свою очередь, обновляет мойлист.