Я получаю странную вещь с объектом 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);