代码之家  ›  专栏  ›  技术社区  ›  iart

GoogleCredentialsBuilder OAuth 2.0

  •  0
  • iart  · 技术社区  · 7 年前

    GoogleCredentials

                Credential cred = new GoogleCredential.Builder()
                            .setTransport(httpTransport)
                            .setJsonFactory(jsonFactory)
                            .setClientSecrets(clientId, clientSecret)
                            .build()
                            .setAccessToken(accessToken)
                            .setRefreshToken(refreshToken);
               return new Gmail.Builder(httpTransport, jsonFactory, cred).setApplicationName("SalesforceIQ").build();
    

    我看不出设置 refreshToken GoogleCredentials 。我能够成功授权自己并仅使用访问令牌返回正确的响应。

    设置刷新令牌的好处是,accessToken在无效时(在API请求期间)由谷歌刷新吗?如果是这样,有没有办法从谷歌那里取回这个新的访问令牌(这样我们就可以把它存储在数据库中)?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Kilian    7 年前

    查看文档页面 Using OAuth 2.0 with the Google API Client Library for Java - Data store

    您可以使用 DataStoreCredentialRefreshListener 并将其设置为 凭据使用 GoogleCredential.Builder.addRefreshListener(CredentialRefreshListener) .

    这样就不需要设置刷新令牌。您甚至可能会质疑是否需要自动刷新令牌的批处理。

    推荐文章