java - 如何在 Java 中使用刷新 token 获取访问 token ?

标签 java access-token refresh-token google-contacts-api

我目前正在 Java 中使用 Google Contact API 实现 Contact Application。我已完成授权步骤并获得了一个访问 token 和一个刷新 token

现在我有了 CLIENT_ID、CLIENT_SECRET 和 REFRESH_TOKEN。但是访问 token 将在一小时内过期。

谁能告诉我如何在 Java 中使用刷新 token 自动生成访问 token

最佳答案

您可以使用 Google OAuth2 客户端库通过刷新 token 获取新的访问 token

这是我获取新访问 token 的代码:

public TokenResponse refreshAccessToken(String refreshToken) throws IOException {
    TokenResponse response = new GoogleRefreshTokenRequest(
            new NetHttpTransport(),
            new JacksonFactory(),
            refreshToken, 
            "your clientId",
            "your clientSecret")
            .execute();
    System.out.println("Access token: " + response.getAccessToken());

    return response;
}

有关更多信息,请阅读官方 Google API 指南:

关于java - 如何在 Java 中使用刷新 token 获取访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50903787/

相关文章:

c# - 不使用 OpenIddict 接收刷新 token

java - Spring Data JPA 查询、过滤?搜索引擎 ? JPQL?

java - 有界堆栈实现

android - 如何使用 Facebook Android SDK 3.8 获取 facebook 访问 token ?

security - 访问 token 和刷新 token 流程

c# - 刷新 token 在访问 token 后立即过期

java - Jshell 如何在行尾没有分号的情况下工作

java - 如何从包含二维数组的 .txt 文件中读取整数,我收到 java.util.InputMismatchException

facebook-graph-api - 通过 Graph API 搜索页面,响应为空

ruby-on-rails - 设计没有 session cookie 的 token_authenticable