How to make POST requests to google spreadsheets using JavaScript?

11,879

How to Write to to a Cell Using Spreadsheet API in JS

In essence, you have to know XHR. I'll give you an example. Let's say you want to write to A1:B1 range of your spreadsheet, say [A1]Hello [B1]World.

Your URI request would look like this:

PUT https://sheets.googleapis.com/v4/spreadsheets/{SPREADSHEET_ID}/values/Sheet1!A1:B1?valueInputOption=USER_ENTERED 

request body:

{
           "range":"Sheet1!A1:B1",
           "majorDimension": "ROWS",
           "values": [
           ["Hello"," World"]
          ]
}

Did this in oauthplayground using Google Sheetsv4 and it worked. enter image description here

How to apply this in JS?

After setting up the JS Quickstart find a way to call this inside a function:

var params = {
           "range":"Sheet1!A1:B1",
           "majorDimension": "ROWS",
           "values": [
           ["Hello","World"]
          ],
     }
  var xhr = new XMLHttpRequest();
  xhr.open('PUT', 'https://sheets.googleapis.com/v4/spreadsheets/{SPREADSHEET_ID}/values/Sheet1!A1:B1?valueInputOption=USER_ENTERED');
  xhr.setRequestHeader('Authorization', 'Bearer ' + access_token);
  xhr.send(JSON.stringify(params));

Also read Reading & Writing cells in Sheets v4. Hope this crash course helps.

Share:
11,879
Admin
Author by

Admin

Updated on June 17, 2022

Comments

  • Admin
    Admin about 2 years

    I am trying to post some data from the client side to the google spreadsheet. After looking hard through their documentation for v4 I haven't found a way.

  • Beckham_Vinoth
    Beckham_Vinoth almost 8 years
    While Trying your code am Getting error as ReferenceError: access_token is not defined How can i solve that @noogui
  • noogui
    noogui almost 8 years
    @Becky that's because access_token is my user-defined variable. var access_token = 'ya29.CabcdabcdefgkMHMeDNxC1koDhrS3fM-7pjzMFAfCgVPxnNM2dAxyz‌​aldlRBvxKLcyA'; ..You have to find a way to generate your own.
  • Beckham_Vinoth
    Beckham_Vinoth almost 8 years
    Thanks....and I don't know how to create my own access_token ? How can i make that ? Any idea's ?
  • noogui
    noogui almost 8 years
    @Becky follow my other guide here.
  • Beckham_Vinoth
    Beckham_Vinoth almost 8 years
    If Possible can you pls Answer for that --> stackoverflow.com/questions/39096279/…
  • noogui
    noogui almost 8 years
    Remember, that access token from oAuthPlayground is good for only 1 hour.