我们目前有一个批处理作业,它每 50 分钟左右使用刷新令牌刷新访问令牌。
这就是我们当前构造GoogleCredentials
对象以构造 gmail api 的方式。
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
. 我能够成功地授权自己并仅使用访问令牌返回正确的响应。
设置刷新令牌的优势是在无效时(在 API 请求期间)由谷歌刷新 accessToken 吗?如果是这样,有没有办法从谷歌取回这个新的访问令牌(以便我们可以将它存储在我们的数据库中)?