Is there a RESTful Google Sheets API for reading rows from one sheet?
Here is what is working for me to get XML
https://spreadsheets.google.com/feeds/list/yourSpreadsheetID/od6/public/values
and for JSON:
https://spreadsheets.google.com/feeds/list/yourSpreadsheetID/od6/public/values?alt=json
That is from a spreadsheet that is published to the web. If the sheet is not published to the web, I get an error:
We're sorry. This document is not published.
Here's what I could get for information from the documentation. If any info is wrong, anyone who knows better, please comment.
The documentation for the Sheets REST API is at the following link:
The way any REST Api works, is that an HTTPS GET or POST request must be made. Don't look at the client library's for other languages like GO, Java, .NET, etc. if you want to use the REST API.
The only way that you can get information out of a spreadsheet without going through the authorization process, is if that spreadsheet is published to the web. So, if you are trying to get data out of a spreadsheet with the REST Api that you don't want to publish to the web, you need to go through the authorization process.
Quote from Google documentation:
When your application requests non-public user data, it must include an authorization token. The token also identifies your application to Google.
A URL typed into the browser's address bar is a GET request. Anything that requires a POST request could not be used in the browser's address bar. Even though a GET request can be made in the browser's address bar, some HTTP requests still need an appropriate authorization header. Which I don't think you can do in the browser's address bar.
I think you are looking for this:https://developers.google.com/sheets/api/reference/rest/#rest-resource-v4spreadsheetsvalues
REST Resource: v4.spreadsheetsMethods
batchUpdate POST /v4/spreadsheets/{spreadsheetId}:batchUpdate Applies one or more updates to the spreadsheet.create POST /v4/spreadsheets Creates a spreadsheet, returning the newly created spreadsheet.get GET /v4/spreadsheets/{spreadsheetId} Returns the spreadsheet at the given ID.getByDataFilter POST /v4/spreadsheets/{spreadsheetId}:getByDataFilter
Returns the spreadsheet at the given ID.