use*_*435 11 android google-api google-sheets google-docs-api google-sheets-api
我正在尝试使用需要使用Google电子表格API的Android应用.我是新手,所以我从api的第3版开始:https://developers.google.com/google-apps/spreadsheets/
我按照所有步骤,将所有jar文件下载到lib我的项目文件夹中的子文件夹,然后像往常一样添加到Eclipse中的构建路径.因此虽然没有Java示例来执行Oauth 2.0,但我只是试图声明:
SpreadsheetService service = new SpreadsheetService("v1");
Run Code Online (Sandbox Code Playgroud)
但是当我模仿这个简单的行时,它给了我一个错误:
java.lang.NoClassDefFoundError: com.google.gdata.client.spreadsheet.SpreadsheetService
Run Code Online (Sandbox Code Playgroud)
我正在使用文档中包含的所有jar,我有导入:
import com.google.gdata.client.spreadsheet.SpreadsheetService;
Run Code Online (Sandbox Code Playgroud)
但我完全迷失了.我不知道还有什么可以开始,连接到Google API并使用电子表格.
没有OAuth 2.0的示例代码.但是为了安全起见,它建议执行OAuth.您还必须添加以下权限.
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"/>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
Run Code Online (Sandbox Code Playgroud)
示例代码: -
try {
SpreadsheetEntry spreadsheet;
service = new SpreadsheetService("Spreadsheet");
service.setProtocolVersion(SpreadsheetService.Versions.V3);
service.setUserCredentials("username", "password");//permission required to add in Manifest
URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
feed = service.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
if (spreadsheets.size() > 0) {
spreadsheet = spreadsheets.get(i);//Get your Spreadsheet
}
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
非常感谢蝎子!有用!!我已经尝试这个太久了。好的,这是我的解决方案:我开始了一个新项目并包含这些罐子:
gdata-client-1.0
gdata-client-meta-1.0
gdata-core-1.0
gdata-spreadsheet-3.0
gdata-spreadsheet-meta-3.0
guava-13.0.1
Run Code Online (Sandbox Code Playgroud)
和我的代码:
SpreadsheetService spreadsheet= new SpreadsheetService("v1");
spreadsheet.setProtocolVersion(SpreadsheetService.Versions.V3);
try {
spreadsheet.setUserCredentials("username", "password");
URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
SpreadsheetFeed feed = spreadsheet.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
for (SpreadsheetEntry service : spreadsheets) {
System.out.println(service.getTitle().getPlainText());
}
} catch (AuthenticationException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
当然,这是在不同的线程中执行的,而不是在主线程中。OAuth 2.0 没有 java 文档,但我会尝试,如果我做不到,我会在这里询问。再次非常感谢你,我希望当我工作足够的时候能帮助你。:)
| 归档时间: |
|
| 查看次数: |
20571 次 |
| 最近记录: |