Функция Google Sheet Api возвращает неопределенное значение в nodejs
function changeData(auth,sheetId) {
var sheets = google.sheets('v4');
sheets.spreadsheets.values.update({
auth: auth,
spreadsheetId: sheetId,
range: 'Sheet1!D6',
valueInputOption: "USER_ENTERED",
resource: {
values: [ ["abc"] ]
}
}, (err, response) => {
if (err) {
console.log('The API returned an error: ' + err);
return;
} else {
console.log("Appended");
}
});
}
Я могу заставить вышеупомянутую функцию работать, и она отлично меняет значение, но нижеприведенная функция не возвращает значение и говорит, что получено 0 строк. Что я делаю неправильно?
function read(auth,sheet_id)
{
var sheets = google.sheets('v4');
sheets.spreadsheets.values.get({
auth: auth,
spreadsheetId: sheet_id,
range: 'Sheet1!D6'
}, function(err, result) {
if(err) {
// Handle error
console.log(err);
} else {
var numRows = result.values ? result.values.length : 0;
console.log('%d rows retrieved.', numRows);
}
});
}
1 ответ
Если вы используете googleapis после версии v26.0.1 (сейчас это 32.0.0.), В своем скрипте вы можете получить данные с помощью result.data
, Так как насчет следующей модификации?
От:
var numRows = result.values ? result.values.length : 0;
Кому:
var numRows = result.data.values ? result.data.values.length : 0;