Google Java OAuth2.0 - 第一次代码排出流程中缺少刷新令牌

时间:2018-01-25 12:12:40

标签: java oauth-2.0 google-api-java-client

我正在为我的API设置Google AUth2.0,并且需要将刷新令牌和访问令牌存储在一起以供日后使用。

但是,我似乎无法检索刷新令牌......

GoogleAuthorizationCodeFlow flow = new GoogleAuthorizationCodeFlow.Builder(TRANSPORT,
        JSON_FACTORY, clientSecrets, ProjectsApi.SCOPES)
                .setAccessType("offline")
                .setApprovalPrompt("force")
                .build();

GoogleTokenResponse response = flow
        .newTokenRequest(code)
        .setRedirectUri(clientSecrets.getDetails().getRedirectUris().get(0))
        .execute();

String accessToken = response.getAccessToken();
String refreshToken = response.getRefreshToken();

System.out.println(accessToken); // ya29. ...
System.out.println(refreshToken); // null

这是我从请求中获取令牌的部分。系统会提示用户正确允许(或拒绝)访问其云存储数据。

但是,返回的数据永远不会包含刷新令牌...

我已尝试(在互联网上阅读类似问题)将审批提示更改为consentforce但未成功。我试图重新生成新的凭据并进行测试。

有没有人知道如何做到这一点?

提前致谢!

0 个答案:

没有答案
相关问题