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.
In my case I need to publish content from a Google Spreadsheet to a web page. My workaround consists in use the HTTP GET call 

> 
> GET
>  <https://sheets.googleapis.com/v4/spreadsheets/>{spreadsheetId}/values/{range}
> 
> 
> 

using the javascript object XMLHttpRequest In this solution you only have to use the API key