странная вещь с oAuth2Client - PullRequest
0 голосов
/ 14 июня 2019

Я получаю странную вещь с объектом oAuth2Client, когда я передаю объект напрямую, я получаю сообщение «API возвратил ошибку: Ошибка: в запросе отсутствует допустимый ключ API.», Но если я передаю в другой переменной или в качестве параметра функции он работает нормально.

Есть идеи, почему это происходит?

Ошибка API:

const {client_secret, client_id, redirect_uris} = {"installed":
    {x}}.installed;

const oAuth2Client = new google.auth.OAuth2(
client_id, client_secret, redirect_uris[0]);

oAuth2Client.setCredentials({x})


return google.sheets({version: 'v4', oAuth2Client}).spreadsheets.values.get({
    spreadsheetId: options.sheetid,
    range: options.range,
    majorDimension: 'COLUMNS',
    }, (err, res) => {
    if (err) {
        console.log('The API returned an error: ' + err);
        return reject ({status: 919,data: []});
    }

    if(res.data && res.data.values){
        return resolve({status: 420,data: res.data.values});
    }

    return reject({status: 125,data: []});
    });

});

добавление "let auth = oAuth2Client;" нет ошибки API, отлично работает

oAuth2Client.setCredentials({x})

let auth = oAuth2Client;

return google.sheets({version: 'v4', auth }).spreadsheets.values.get({
    spreadsheetId: options.sheetid,
    range: options.range,
    majorDimension: 'COLUMNS',
    }, (err, res) => {

установка аутентификации в параметрах функции также работает нормально

return new Promise((resolve,reject)=>{
const {client_secret, client_id, redirect_uris} = {"installed":
    {x}}.installed;

const oAuth2Client = new google.auth.OAuth2(
client_id, client_secret, redirect_uris[0]);

oAuth2Client.setCredentials({x})

function pull(auth){
return google.sheets({version: 'v4', auth}).spreadsheets.values.get({
    spreadsheetId: options.sheetid,
    range: options.range,
    majorDimension: 'COLUMNS',
    }, (err, res) => {
    if (err) {
        console.log('The API returned an error: ' + err);
        return reject ({status: 919,data: []});
    }

    if(res.data && res.data.values){
        return resolve({status: 420,data: res.data.values});
    }

    return reject({status: 125,data: []});
    });
}
pull(oAuth2Client);
...