i want to integrate google sheet api in my application so i use following link https://developers.google.com/sheets/quickstart/android and i follow all steps for that and i want to call spreadsheet below link
https://docs.google.com/spreadsheets/d/17Rdom3QF21uTbp89ZTXqjL8CmUGyoCvxJ5Hnc7wVqjk/edit#gid=0
I change my code as per below function
private List<String> getDataFromApi() throws IOException {
String spreadsheetId = "17Rdom3QF21uTbp89ZTXqjL8CmUGyoCvxJ5Hnc7wVqjk";
String range = "Sheet1!B:D";
List<String> results = new ArrayList<String>();
ValueRange response = this.mService.spreadsheets().values()
.get(spreadsheetId, range)
.execute();
List<List<Object>> values = response.getValues();
if (values != null) {
results.add("Category2, Category4");
for (List row : values) {
results.add(row.get(1) + ", " + row.get(3));
}
}
return results;
}
When i run above code i get output in textview like Invalid index 3 , size is 3 any idea how can i solve this ? your all suggestions are appreciable
LOGCAT
java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1280)
at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:219)
at java.util.concurrent.FutureTask.get(FutureTask.java:82)
at android.os.AsyncTask$3.done(AsyncTask.java:295)
at java.util.concurrent.FutureTask$Sync.innerCancel(FutureTask.java:293)
at java.util.concurrent.FutureTask.cancel(FutureTask.java:75)
at android.os.AsyncTask.cancel(AsyncTask.java:467)
at pkg.android.srtpl.googlespreadsheetdemo.NewMain$MakeRequestTask.doInBackground(NewMain.java:346)
at pkg.android.srtpl.googlespreadsheetdemo.NewMain$MakeRequestTask.doInBackground(NewMain.java:323)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:137)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
at java.lang.Thread.run(Thread.java:856)
I had the same issue and solved it by ensuring there was data in each cell.
Happened to me too, really weird. Not the best but it worked for me