I'm lost on this one. I'm trying to connect Java with Google spreadsheet, and although the API's documentation is complete on retrieving data (and it is working fine), I am unable to figure out how to write into the spreadsheet.
Could anyone, please provide a full example (with the necessary imports and all) on how to do a very simple data entry into a Google Spreadsheet (say, enter "asdf" into the A1 cell of Sheet1)?
If a tutorial like this exists somewhere, I could not find it - any pointers would be much appreciated.
Thank you very much, Zsolt
OK, it took me a good few hours to figure it out finally, and the answer turns out to be easier than building an Ajax request from scratch. In the hope of saving hours and hours for others, here is the solution that worked for me.
Prereqs: I used the Quickstart tutorial of the Google Sheets API, to read from a table, that is pretty complex, but worked fine for me.
After the tutorial I needed to amend a few things, though
1, change the line
to
for obvious reasons (as we want to write the table, not only read it.
2, Delete the stored credentials that are stored in your user directory in a folder called /.credentials/
One more note: there appears to be a method called
but I couldn't get that working, as it requires a
valueInputOption
parameter to be set, and hours of searching did not prove enough to find where can one set it.So, finally, I ended up with a method called
Here's the code full method that did the trick of writing
"Hello World!"
into a table cell for me (as for imports, I used the same as in the Quickstart tutorial above):The SheetId is the ID of the worksheet you are writing (it is always 0 for the first worksheet in a certain spreadheet, and you can get it from the URL for others: it's the part after
#gid=
If you want to go into further complexities, like formatting or using formulas, you can - in this case, use the Java example provided here.
Hope it helps, Zsolt
Here is a modified version of the quick start tutorial code, to perform a write.
I get a permissions warning at this line, but it's not fatal
Quick start tutorial uses readonly scope instead
Per the quick start tutorial, you'll need to download the certification file from Google.
One other note - I had to add servlet-api.jar to my project.
Make use of XmlHttpRequest request.
I'll give you a quick demo where you will actually write on a google-spreadsheet. You will then apply the concepts here using your preferred language, Java.
https://www.googleapis.com/auth/drive
permission. Click Authorize APIs. Allow the permission.On Step 3, Paste this on Request URI:
https://sheets.googleapis.com/v4/spreadsheets/{SpreadsheetID}/values/Sheet1!A1?valueInputOption=USER_ENTERED
HTTP Method is PUT.
Place this inside your Enter Request Body
Click Send the Request. If you get
200 OK
response, expect "Hello World" to be written in A1 cell of your spreadsheet. You can read more about writing data in Sheets v4 here.How to do this in Java? Learn about AJAX or XHR implementation in Java. Check this tutorial to get you started.