Search code examples
node.jsgoogle-sheets-api

trying to append row google sheets api


I have been trying to get the append row example to work for a couple of hours now with no luck, I'm getting no errors but my spreadsheet isn't getting updated at all.

https://developers.google.com/sheets/samples/writing#append_values

function insertInSpreadSheet(sheetId, sheetService) {
var body = {
    "range": "Sheet1",
    majorDimension: "ROWS",
    "values": [
        ["Item", "Cost", "Stocked", "Ship Date"],
        ["Wheel", "$20.50", "4", "3/1/2016"],
        ["Door", "$15", "2", "3/15/2016"],
        ["Engine", "$100", "1", "30/20/2016"],
        ["Totals", "=SUM(B2:B4)", "=SUM(C2:C4)", "=MAX(D2:D4)"]
    ]
}

var params = {
    spreadsheetId: sheetId,
    "range": "Sheet1",
    valueInputOption: "USER_ENTERED",
    media: {
        body: body  
    }
};
sheetService.spreadsheets.values.append(params, function(err, res) {
    if(err){
        console.log(err);
        return;
    }
    console.log(res);
    return;
});
}//end function

Response:

{ 
    spreadsheetId: '1NvBbTlET7G5yhuuFF6zj-7LQUQ9TI85_geviRLuzCD0',
    updates: { 
        spreadsheetId: '1NvBbTlET7G5yhuuFF6zj-7LQUQ9TI85_geviRLuzCD0',
        updatedRange: 'Sheet1!A1' 
    } 
}

Am I missing something?

Edit

My Spreadsheet is completely empty


Solution

  • This is how I do it and it works fine for me.

    //Write rows TO sheet

    const { name, email, phone, city, pin, nick } = req.body;
    
    await googleSheets.spreadsheets.values.append({
        auth,
        spreadsheetId,
        range: "test1!A:E",
        valueInputOption: "USER_ENTERED",
        resource: {
             values: [
                 [name, email, phone, city, pin, nick]
             ],
    
        }
    })