Google Sheet API v4 插入新行

Gik*_*s91 5 android google-sheets

我使用 Google Sheet API v4,我想在工作表中插入新行。我尝试了https://developers.google.com/sheets/api/guides/values#appending_values 但这样只需插入数据,我想将数据添加到特定列,如下所示:有没有办法在上添加行使用 java 的没有 OAuth 的 Google 电子表格? 这是一个如何使用 api v3 执行此操作的示例

    row.getCustomElements().setValueLocal("id", "21");
    row.getCustomElements().setValueLocal("type", si.getType().toString());
    row.getCustomElements().setValueLocal("longitude", String.valueOf(si.getLongitude()));
    row.getCustomElements().setValueLocal("latitude", String.valueOf(si.getLatitude()));
    row.getCustomElements().setValueLocal("last_maint", String.valueOf(si.getLast()));
    row.getCustomElements().setValueLocal("inst_date", String.valueOf(si.getInst()));

    row = service.insert(listFeedUrl, row);
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用 api v4.1 做同样的事情?

San*_*era 5

按照此快速入门设置您的 Android 项目以使用 Google Spreadsheet API v4 https://developers.google.com/sheets/api/quickstart/android

设置完成后,您将阅读如何使用 API。

插入新行的代码

MainActivity, in private class MakeRequestTask extends AsyncTask<Void, Void, List<String>> addinsertDataToApi()函数中

        private boolean insertDataToApi() throws IOException{
        String spreadsheetId = "your_spreadsheet_id";
        String range = "MySheet!A1:C"; // A1:C refers to the 1st column of "MySheet", similarlly B1:B 2nd column. For more understanding https://developers.google.com/sheets/api/guides/concepts

        List<Object> row1 = new ArrayList<>();
        row1.add("Name");
        row1.add("Rollno");
        row1.add("Class");
        // similarly create more rows with data

        List<List<Object>> vaules = new ArrayList<>();
        vaules.add(row1);

        ValueRange valueRange = new ValueRange();
        valueRange.setMajorDimension("ROWS");
        valueRange.setValues(vaules);

        UpdateValuesResponse response = this.mService.spreadsheets().values()
                .update(spreadsheetId, range, valueRange)
                .setValueInputOption("RAW")
                .execute();

        Log.e("Update_response", response.toString());

        return true;
    }
Run Code Online (Sandbox Code Playgroud)

现在只需insertDataToApi()调用protected List<String> doInBackground(Void... params){}