gpt4 book ai didi

oauth - gdata-java-client + oauth2 + access_token secret

转载 作者:行者123 更新时间:2023-12-04 16:55:15 25 4
gpt4 key购买 nike

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

显然我想使用 OAuth2——但是使用 OAuth2 我没有得到访问 token 的 secret ——这会导致一个问题 b/c gdata 需要访问 token 的 secret 。

任何人都可以建议解决方法,例如。
- 有没有办法只使用访问 token (OAuth2)而不是访问 token secret 来使用 gdata java 库?代码示例(和尝试)不能证实这一点,但也许我做错了什么

  • 或者我是否必须对 gdata 和新的 google java 客户端 api 使用 OAuth1?
  • 还是有另一种方法?

  • 谢谢

    最佳答案

    我找到了解决方案。
    您可以设置特殊的 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());
    }

    有点奇怪,我找不到它真正清楚地记录下来。我只是偶然发现的。

    关于oauth - gdata-java-client + oauth2 + access_token secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8228212/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com