Home > database >  modify google spreadsheet using Ajax javascript only
modify google spreadsheet using Ajax javascript only

Time:03-31

i am using javascript only to read and write values in google spreadsheet (private sheet using oAuth). I can successfully read the values but i am getting issue on modifying the sheet. below is my code for updating the cell-

$.ajax({ type: 'post', headers: { Authorization: auth, 'content-type': 'application/json', "access_token": auth, }, data: JSON.stringify({ // generate from oAuthPlayground "access_token": auth,

                "range": "A1",
                "values": [
                    [
                        "32",
                        
                    ]
                ]
            
            
            }),              
            url: 'https://sheets.googleapis.com/v4/spreadsheets/'   sheetId   '/values/A2:batchUpdate?insertDataOption=INSERT_ROWS&valueInputOption=RAW',               
            success: function (r) {
                console.log(r)
            }, error: function (r) {
                console.log(r)
            }
        });

anybody can suggest what is the mistake. Again i am using only ajax not node.js or google script.

CodePudding user response:

From your showing script, I couldn't understand the following.

  • What method in Sheets API do you want to use?
  • Which do you want to put the value to the cell "A1" or "A2".
  • I couldn't understand whether your access token can be used for updating the Spreadsheet.

From this situation, I guessed your current issue and your goal as follows.

  • You want to put a value of "32" to a cell "A1" of the 1st sheet of the Spreadsheet.
    • In this case, "Method: spreadsheets.values.update" is used.
  • Your access token can be used for updating the Spreadsheet.

In this case, how about the following sample script?

Sample script:

const auth = "Bearer ###"; // Please replace "###" with your access token.
const sheetId = "###"; // Please set your Spreadsheet ID.

$.ajax({
  type: 'put',
  headers: { Authorization: auth, 'content-type': 'application/json' },
  data: JSON.stringify({
    "values": [["32"]]
  }),
  url: 'https://sheets.googleapis.com/v4/spreadsheets/'   sheetId   '/values/A1?valueInputOption=RAW',
  success: function (r) {
    console.log(r)
  }, error: function (r) {
    console.log(r)
  }
});
  • When this script is run, "32" is put to a cell "A1" of the 1st sheet of the Spreadsheet.

Reference:

  • Related