Google Sheets API v4,无法对 public 文档发出匿名 PUT 请求

Google Sheets API v4, cannot make anonymous PUT request to public document

我有一个 Google 电子表格,共享为 "Anyone with the link can EDIT"。我想使用 Google Sheets API v4 执行 PUT 请求来编辑此​​文档。理想情况下,我希望仅使用 API 密钥而不使用 OAuth2 来执行此操作,因为使用 OAuth 通过 Google 进行身份验证对于 Xamarin.此外,这将要求用户每小时输入一次密码,这会破坏可用性。

据推测,requests for public data can be sent using only the API key in the request, not requiring OAuth. This works for GET requests, but I get a 401 response when doing this for the PUT request. (This unintentionally failed for GET requests before,这让我相信这也适用于 PUT 请求,只要目标文档是公开共享的)。

GET https://sheets.googleapis.com/v4/spreadsheets/{sheetId}/values/Sheet1%21A1%3AJ1?key={myKey} HTTP/1.1 

...有效,但是

PUT https://sheets.googleapis.com/v4/spreadsheets/{sheetId}/values/Sheet1%21A1%3AJ1?key={myKey} HTTP/1.1 

...产生 401 未经授权。

是否有人能够阐明这是否可行,或者如何解决?

不允许使用 APi 进行匿名写入(他们目前需要凭据),即使 sheet 共享为 'anyone can edit'。