Я смог сделать это на более старой версии, но добавление данных сейчас не работает.
Старая версия: googleapis @ 39 |Javascript Новейшая версия: googleapis @ 39 |Машинопись |Inside Promise
Старый код (рабочий)
exports.appendData = function(auth, spreadsheetId, sheetName, range, data, id) {
const sheets = google.sheets({version:'v4', auth:auth});
let resource = {values: data};
return sheets.spreadsheets.values.append({
spreadsheetId: `${spreadsheetId}`,
range: sheetName != 'n/a' ? `${sheetName}!${range}`: `${range}`,
resource: resource,
valueInputOption: 'RAW'
}, (err, res) => {
if(err) return console.log(err);
universalEmitter.emit(`success_append_data_${id}`, res.data.values);
return res.data.values
})
}
Новый код (ошибка @ ресурс)
interface Params { [others: string]: any; }
putData(auth: any, params: Params): any {
return new Promise((resolve, reject) => {
const sheets = google.sheets({version: 'v4', auth:auth});
sheets.spreadsheets.values.append({
resource: {majorDimension:'ROWS', values:params.data}, // Error Here
spreadsheetId: params.id,
range: params.sheetName!= 'n/a' ? `${params.sheetName}!${params.range}` : `${params.range}`,
valueInputOption: 'RAW'
}, (err, res) => {
if (err) return reject(err);
resolve(res.data.values);
})
})
}
Ошибка:
Argument of type '{ resource: { majorDimension: string; values: any; }; spreadsheetId: any; range: string; valueInputOption: string; }' is not assignable to parameter of type 'Params$Resource$Spreadsheets$Values$Append'.
Object literal may only specify known properties, and 'resource' does not exist in type 'Params$Resource$Spreadsheets$Values$Append'.ts(2345)
Iя пытаюсь расширить свои знания и разработать лучший код, используя машинописный текст и отслеживая изменения в файле mimic js.Любое предложение о том, как сделать это лучше, не стесняйтесь.
В противном случае мне просто нужна помощь с этой ошибкой.