我发现了多个StackOverflow问题,涉及如何使用Google Spreadsheets API或旧版API创建或编辑Google文档电子表格。但是,这个Spreadsheets API似乎是“gdata”库的一部分,根据我的理解,这个库已被弃用。
Newer StackOverflow answers显示了如何使用Drive API创建一个空电子表格,这似乎更新。但是,通过查看该API的文档和示例,它似乎只允许您使用电子表格MIME类型创建新的EMPTY文件。我没有找到任何创建包含实际内容(即行,列,工作表等)的电子表格的功能。
创建新的Google Doc电子表格并用内容填充它的当前流程是什么? Drive API是否具有我不理解的功能? “gdata”库(或者至少它的Spreadsheets API部分)毕竟没有被完全弃用吗?是否有一些我完全错过的第三种方法?我正在使用Java代码,尽管我确信任何Python API都具有Java等价物。
答案 0 :(得分:2)
以子弹形式回答......
答案 1 :(得分:2)
参考新的电子表格API v4
我有最好的方法:
第1步
创建AsyncTask类,将“GoogleAccountCredential凭证”传递给它。
第2步
使用API创建新的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.
}
}
注意:强> 不要忘记将'SheetsScopes.SPREADSHEETS'范围放在onCreate()的'凭证'中。
String[] SCOPES = { SheetsScopes.SPREADSHEETS};
credential = GoogleAccountCredential.usingOAuth2(
getApplicationContext(), Arrays.asList(SCOPES))
.setBackOff(new ExponentialBackOff());
答案 2 :(得分:0)
Google-apps-script还会创建Spreadsheets并允许您添加数据。 见https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app 它可以比GData api做更多,即google-apps-script可以设置单元格字体/颜色等。
但是根据你的需要,GData的风格很低,所以我觉得它更快。 有一个简单的谷歌GData演示CellDemo.java。 http://gdata-java-client.googlecode.com/svn-history/r51/trunk/java/sample/spreadsheet/cell/CellDemo.java 它展示了Gdata Spreadsheets API功能。