首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >gdata-java-client + oauth2 + access_token机密

gdata-java-client + oauth2 + access_token机密
EN

Stack Overflow用户
提问于 2011-11-22 14:13:59
回答 1查看 5.6K关注 0票数 5

我目前正在尝试使用新的java客户端,由于google库当前状态的遗留原因,我需要同时使用gdata和新的google客户端api。

显然,我想使用OAuth2 --但是,对于OAuth2,我不会获得访问令牌秘密--这会导致b/c数据需要访问令牌秘密的问题。

有谁能提出解决办法的建议吗?-是否有一种方法可以使用gdata库,只使用访问令牌(OAuth2)而不访问令牌秘密?代码示例(和尝试)并不能证实这一点,但也许我做的不对

  • ,还是必须将OAuth1用于gdata和新的google java客户端api?
  • 还是有其他方法?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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服务:

代码语言:javascript
复制
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());
}

这有点奇怪,我没有找到真正的文件清楚。我只是碰巧找到了它。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8228212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档