我目前正在尝试使用新的java客户端,由于google库当前状态的遗留原因,我需要同时使用gdata和新的google客户端api。
显然,我想使用OAuth2 --但是,对于OAuth2,我不会获得访问令牌秘密--这会导致b/c数据需要访问令牌秘密的问题。
有谁能提出解决办法的建议吗?-是否有一种方法可以使用gdata库,只使用访问令牌(OAuth2)而不访问令牌秘密?代码示例(和尝试)并不能证实这一点,但也许我做的不对
。
谢谢
发布于 2011-12-28 13:22:41
我找到了解决办法。您可以设置一个特殊的Header(授权:承载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());
}这有点奇怪,我没有找到真正的文件清楚。我只是碰巧找到了它。
https://stackoverflow.com/questions/8228212
复制相似问题