Android Google 表格 API V4 - 更新 public sheet 没有 OAuth

Android Google Sheets API V4 - Update public sheet without OAuth

我正在尝试通过 API 以编程方式更新 public 传播sheet(设置为任何人都可以编辑),但失败并显示

401 - "The request does not have valid authentication credentials."

我预计不需要 "valid authentication credentials",因为它是 public 可编辑的跨页 sheet。我可以从 sheet 获取数据就好了,尽管我必须生成一个 "browser" API 密钥,因为显然使用 Android 密钥不起作用。

任何人都知道是否有让更新生效的技巧,或者这对 API 来说是不可能的吗?

我一起破解的示例代码:

// Don't think I even need this?
GoogleCredential credential = new GoogleCredential();
credential.createScoped(Collections.singleton(SheetsScopes.SPREADSHEETS));

HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory factory = JacksonFactory.getDefaultInstance();
final Sheets sheets = new Sheets.Builder(transport, factory, credential)
            .setApplicationName("My Awesome App")
            .build();
final String sheetID = "[ID Of Valid Public Spreadsheet Here]";
final String range = "A:S";
final ValueRange content = new ValueRange();
content.set("Column A Name", "Some Value to Set");
new Thread() {
    @Override
    public void run() {
        try {
            UpdateValuesResponse valueRange = sheets.spreadsheets().values()
                    .update(sheetID, range, content)
                    .setKey("My-Valid-Browser-Api-Key")
                    .execute();
                mLog.D("Got values: " + valueRange);
            }
            catch (IOException e) {
                mLog.E("Sheets failed", e);
            }
        }
    }.start();

今天的表格 V4 API 不允许匿名编辑,即使对于允许匿名编辑的表格也是如此。 (它确实允许匿名读取允许它的工作表。)