Android Google表格API V4 - 更新没有OAuth的公开表格

dom*_*der 6 java android google-sheets-api

我正在尝试通过API以编程方式更新公共电子表格(设置为任何人都可以编辑),但它失败了

401 - "请求没有有效的身份验证凭据".

我希望不需要"有效的身份验证凭据",因为它是一个可公开编辑的电子表格.我可以从表单中获取数据,虽然我必须生成"浏览器"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();
Run Code Online (Sandbox Code Playgroud)

Sam*_*lin 5

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