Lor*_*uto 21 java api android google-sheets google-drive-api
我无法获得用于开发支持Google电子表格的Android应用程序的库.我需要连接,复制,编辑,从用户电子表格阅读,但我今天无法理解这是什么方式.
Google Drive Api : https://developers.google.com/drive/
Google Spreadsheet Api: https://developers.google.com/google-apps/spreadsheets/
Google APi java client: http://code.google.com/p/google-api-java-client/
Run Code Online (Sandbox Code Playgroud)
哪个是正确的?
Eug*_*vas 23
简答:三个
答案很长:
您必须使用新的Drive API,它允许上传,下载和修改Google云端硬盘中的文件.有了这个,您只能对电子表格进行有限的操作,基本上可以下载或上传.
在谷歌电子表格阿比允许进行复杂的操作在电子表格中,像通过行和列访问数据.
在谷歌API的Java客户端在所有谷歌的API的依赖,它是用来授权以不同的方式,比如OAuth的或服务帐户的连接.
最后,我使用的库是:
gdata-client-1.0.jar
gdata-client-meta-1.0.jar
gdata-core-1.0.jar
gdata-spreadsheet-3.0.jar
gdata-spreadsheet-meta-3.0.jar
google-api-client-1.12.0-beta.jar
google-api-client-android-1.12.0-beta.jar
google-http-client-1.12.0-beta.jar
google-http-client-android-1.12.0-beta.jar
google-oauth-client-1.12.0-beta.jar
gson-2.1.jar
guava-13.0.1.jar
jackson-core-asl-1.9.9.jar
jsr305-1.3.9.jar
protobuf-java-2.4.1.jar
Run Code Online (Sandbox Code Playgroud)
正如Eugenio所建议的那样(感谢!!!)我将电子表格api中的库与java-client-api"混合",并且在认证之后我使用以下内容来获取单元格
SpreadsheetEntry spreadsheet = null;
URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
SpreadsheetFeed spreadsheetFeed = service.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = spreadsheetFeed.getEntries();
for (SpreadsheetEntry entry : spreadsheets) {
if (entry.getTitle().getPlainText().equals(spreadsheetTitle)) {
spreadsheet = entry;
}
}
if (spreadsheet == null) {
throw new FileNotFoundException("Cannot find the required spreadsheet '" + spreadsheetTitle + "'");
}
WorksheetEntry worksheet = null;
WorksheetFeed worksheetFeed = service.getFeed(spreadsheet.getWorksheetFeedUrl(), WorksheetFeed.class);
List<WorksheetEntry> worksheets = worksheetFeed.getEntries();
for (WorksheetEntry entry : worksheets) {
if (entry.getTitle().getPlainText().equals(worksheetTitle)) {
worksheet = entry;
}
}
if (worksheet == null) {
throw new FileNotFoundException("Cannot find the required worksheet '" + worksheetTitle + "'");
}
URL listFeedUrl = worksheet.getListFeedUrl();
ListFeed listFeed = service.getFeed(listFeedUrl, ListFeed.class);
Run Code Online (Sandbox Code Playgroud)
目前我使用的是"最差"的身份验证系统,我应该在OAuth2中进行此操作,但目前ClientLogin是以这种方式完成的:
SpreadsheetService service = new SpreadsheetService("v1");
service.setProtocolVersion(SpreadsheetService.Versions.V3);
service.setUserCredentials(email, password);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
22280 次 |
| 最近记录: |