Jav*_*Guy 5 oauth gdata gdata-java-client access-token google-api-java-client
我目前正在尝试使用新的Java客户端,由于谷歌库当前状态的遗留原因,我需要同时使用gdata和新的google java客户端API.
显然我想使用OAuth2 - 但是对于OAuth2,我没有获得访问令牌的秘密 - 这会导致问题b/c gdata需要访问令牌机密.
任何人都可以建议解决方法,例如. - 有没有办法使用仅具有访问令牌(OAuth2)的gdata java库而不访问令牌密钥?代码示例(和尝试)没有证实这一点,但也许我做错了
谢谢
Chr*_*oph 13
我找到了解决方案.您可以设置一个特殊的HTTP-Header(授权:Bearer ACCESS_TOKEN),如http://code.google.com/apis/accounts/docs/OAuth2WebServer.html#callinganapi中所述.
收到accessToken后(例如http://code.google.com/p/google-api-java-client/wiki/OAuth2Draft10),您可以像这样调用"旧"gdata服务:
SpreadsheetService service = new SpreadsheetService("yourAppName");
service.setHeader("Authorization", "Bearer " + accessToken);
URL metafeedUrl = new URL("https://spreadsheets.google.com/feeds/spreadsheets/private/full");
SpreadsheetFeed feed = service.getFeed(metafeedUrl, SpreadsheetFeed.class);
List<SpreadsheetEntry> spreadsheets = feed.getEntries();
for (int i = 0; i < spreadsheets.size(); i++) {
SpreadsheetEntry entry = spreadsheets.get(i);
System.out.println("\t" + entry.getTitle().getPlainText());
}
Run Code Online (Sandbox Code Playgroud)
这有点奇怪,我发现它没有真正清楚地记录下来.我只是巧合地发现了它.
| 归档时间: |
|
| 查看次数: |
5514 次 |
| 最近记录: |