Question: I've read google spreadsheet documentation <https://developers.google.com/sheets/api/guides/authorizing> And it says, that if document is public, you don't need Oauth 2.0 and API key is sufficient. I'm trying to do a test request with hurl and api key as parameter.it, but it still gives me error, that I need to use Oauth, any thoughts?

POST <https://sheets.googleapis.com/v4/spreadsheets/16woR-nfy6KYBbkQpC2YOT1GzIean8rTzjueUnlzLMiE/values/Sheet1!A1:E1:append?valueInputOption=USER_ENTERED>

Response:
`"error": {"code": 401,"message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.","status": "UNAUTHENTICATED"}`

Answer: 
API key is not enough. You're trying to use [spreadsheets.values.append](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/append) which requires OAuth authorization:

> 
> **Authorization** Requires one of the following OAuth scopes:
> 
> 
> 
> ```
> https://www.googleapis.com/auth/drive
> https://www.googleapis.com/auth/drive.file
> https://www.googleapis.com/auth/spreadsheets
> For more information, see the [Auth Guide](https://developers.google.com/identity/protocols/OAuth2).
> 
> ```
> 
> 

Note it says OAuth.
You could use the format as below:

> 
> <https://docs.google.com/spreadsheets/d/>{sheetID}/export?format=csv
> 
> 
> 

Make a URLConnection to this URL, after replacing the sheetID with your public sheet and read the csv file as you would normally do in your programming language of choice.

Please note that this is only true for Readable Public Google spreadsheets, and is a bit of a hack when you don't necessarily need to do the Credentials jig and jive