2017-02-08 5 views
1

Я использую API-интерфейс Google Sheet v4, и я хотел бы вставить новую строку в свой лист. Я попытался https://developers.google.com/sheets/api/guides/values#appending_values но способ просто вставить данные, и я хочу, чтобы добавить данные в определенном столбце, как здесь: Is there a way to add a row on a Google Spreadsheet without OAuth using java? это пример того, как сделать это с помощью API V3API-интерфейс Google Sheet v4 вставить новую строку

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); 

Как я могу сделать так же, используя api v4.

ответ

0

Следуйте этому Быстрый старт для настройки вашего андроида проекта использовать таблицы Google API v4 https://developers.google.com/sheets/api/quickstart/android

После установки вы прочтете использовать API.

Код для вставки новой строки

В MainActivity, в private class MakeRequestTask extends AsyncTask<Void, Void, List<String>> добавить insertDataToApi() Funtion

 private boolean insertDataToApi() throws IOException{ 
     String spreadsheetId = "your_spreadsheet_id"; 
     String range = "MySheet!A1:A"; // A1:A 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; 
    } 

Теперь просто позвоните insertDataToApi() в protected List<String> doInBackground(Void... params){}

Смежные вопросы