with reference to the new spreadsheet API v4
I have The Best and easy method:
Step 1
Create AsyncTask class, pass the 'GoogleAccountCredential credential' to it.
Step 2
Use the API to create the a new SpreadSheet.
CODE
private class MakeRequestTask extends AsyncTask<Void, Void, Void> {
private com.google.api.services.sheets.v4.Sheets mService = null;
// The constructor
MakeRequestTask(GoogleAccountCredential credential) {
HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
mService = new com.google.api.services.sheets.v4.Sheets.Builder(
transport, jsonFactory, credential)
.setApplicationName("Android spreadsheet client")
.build();
}
protected void doInBackground(Void... params) {
// function to create the spreadsheet
creadSpreadSheet();
}
// creates a new spreadsheet
private void creadSpreadSheet() throws IOException{
com.google.api.services.sheets.v4.model.Spreadsheet mSpreadsheet, newSpreadSheet;
mSpreadsheet = new Spreadsheet();
SpreadsheetProperties spreadsheetProperties = new SpreadsheetProperties();
spreadsheetProperties.setTitle("Demo SpreadSheet");// name of your spreadsheet
mSpreadsheet = mSpreadsheet.setProperties(spreadsheetProperties);
newSpreadSheet = mService.spreadsheets()
.create(mSpreadsheet)
.execute();
// this 'newSpreadsheet' is ready to use for write/read operation.
}
}
NOTE:
Don't forget to put 'SheetsScopes.SPREADSHEETS' scope in the 'credential' in onCreate().
String[] SCOPES = { SheetsScopes.SPREADSHEETS};
credential = GoogleAccountCredential.usingOAuth2(
getApplicationContext(), Arrays.asList(SCOPES))
.setBackOff(new ExponentialBackOff());