【问题标题】:Google sheets api v4 post not appending data to spreadsheetGoogle sheet api v4 post未将数据附加到电子表格
【发布时间】:2017-06-05 11:13:51
【问题描述】:

我正在使用 nodejs 模块尝试使用append method 将数据添加到谷歌电子表格中:

    function addEventData(auth) {
      var sheets = google.sheets('v4');
      sheets.spreadsheets.values.append({
        auth: auth,
        spreadsheetId: spreadsheetId,
        range: 'Sheet1!A:B',
        valueInputOption:'USER_ENTERED',
        insertDataOption:'INSERT_ROWS',
        alt:'json'
      },
      {
        values:[['xoxo', '12']]
      },
      function(err, response){
        if(err){
          console.log('The api returned an error:'+err);
          return
        }
        console.log(response);

      })
    }

返回的响应如下:

   {
      spreadsheetId: '{spreadsheetId}',
      tableRange: 'Sheet1!A1:B18',
      updates: 
       { spreadsheetId: '{spreadsheetId}',
         updatedRange: 'Sheet1!A19' } 
    }

而我希望得到这样的回应:

{
  "spreadsheetId": "{spreadsheetId}",
  "tableRange": "Sheet1!A1:B17",
  "updates": {
    "spreadsheetId": "{spreadsheetId}",
    "updatedRange": "Sheet1!A18:B18",
    "updatedRows": 1,
    "updatedColumns": 2,
    "updatedCells": 2
  }
}

【问题讨论】:

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


    【解决方案1】:

    我意识到我正在将正文传递给选项而不是使用资源字段,这要感谢对这个问题的回答:

    trying to append row google sheets api

    function addEventData(auth) {
      var sheets = google.sheets('v4');
      sheets.spreadsheets.values.append({
        auth: auth,
        spreadsheetId: spreadsheetId,
        range: 'Sheet1!A:B',
        valueInputOption:'RAW',
        insertDataOption:'INSERT_ROWS',
        alt:'json',
        resource:{
          values:[['xoxo', '12']]
        }
      },
    
      function(err, response){
        if(err){
          console.log('The api returned an error:'+err);
          return
        }
        console.log(response);
    
      })
    }
    

    【讨论】:

    • 如果您自己解决了问题,请将此答案标记为已接受,以便明确问题已解决。最好的问候