使用Node.js向Google表格添加行

时间:2019-02-18 10:50:29

标签: javascript node.js google-sheets google-sheets-api

我有以下工作表Google Sheet sample

我正在使用此nodejs模块google-spreadsheet 我可以阅读,编辑单元格。没问题。但是,当我尝试添加一行时,出现此错误。

sheet #1: Sheet22 1000x26
Error: HTTP error 400 (Bad Request) - Blank rows cannot be written; use delete instead.

我在寻找答案,它们都是关于编辑标题的问题吗?但是我似乎不明白这里缺少什么,因为标头已经存在。

非常感谢!

这是我的代码

saveTransaction: function(transaction){
        var creds = require('./credentials.json');
        var doc = new GoogleSpreadsheet('xxxxxxxx');
        doc.useServiceAccountAuth(creds, function (err) {
          if (err) console.log(err);
          doc.getInfo(function (err, info) {
            console.log('Loaded doc: ' + info.title + ' by ' + info.author.email);
            sheet = info.worksheets[21];
            console.log('sheet #1: ' + sheet.title + ' ' + sheet.rowCount + 'x' + sheet.colCount);

            var newrow = {
                title: 'banana',
                type: 'fruit',
                url: 'http://example.com'
            };
            doc.addRow(17, newrow, function( err, rows ){
                if (err) console.log(err);
                console.log(rows);

              });

          })
        })
    },

2 个答案:

答案 0 :(得分:0)

我在这里看到一些可能的问题。一种是您要添加到collect_list而不是doc。可能行得通-我对这部分不熟悉-但万一它对其他人有帮助,我可以使用它

sheet

相反。

其次,更有可能的是,当我的列没有设置为与我要添加的键匹配时,我得到了此确切的错误消息。当它们都不匹配时,它给出有关空行的错误。

例如:

sheet.addRow(newrow, function( err, rows ){

答案 1 :(得分:0)

GoogleSpreadsheet.addRow(worksheet_id,new_row,回调)

检查worksheet_id

look this