Google api 访问驱动器API';时是否需要显式刷新令牌;s通过服务帐户使用谷歌图书馆
我有一个用java编写的应用程序,通过服务帐户使用GoogleSDK for drive API将文件上传到GoogleDrive。我想了解,我真的需要显式处理访问令牌过期问题吗?因为据我所知,SDK本身会检查并刷新令牌(如果令牌过期)。 我可能错了,但我没有找到任何关于服务帐户令牌刷新的文档。 关于这一点的任何解释都会非常有用。 如果有帮助的话,我已经附上了谷歌授权的代码Google api 访问驱动器API';时是否需要显式刷新令牌;s通过服务帐户使用谷歌图书馆,google-api,google-drive-api,google-oauth,service-accounts,drive,Google Api,Google Drive Api,Google Oauth,Service Accounts,Drive,我有一个用java编写的应用程序,通过服务帐户使用GoogleSDK for drive API将文件上传到GoogleDrive。我想了解,我真的需要显式处理访问令牌过期问题吗?因为据我所知,SDK本身会检查并刷新令牌(如果令牌过期)。 我可能错了,但我没有找到任何关于服务帐户令牌刷新的文档。 关于这一点的任何解释都会非常有用。 如果有帮助的话,我已经附上了谷歌授权的代码 public void init() throws Exception { // consider g
public void init() throws Exception {
// consider gAuth is a google_scret.json file
gAuth = SecretsUtil.getSecret("auth");
credentials = GoogleCredentials.fromStream(new ByteArrayInputStream(gAuth.getBytes()))
.createScoped(DriveScopes.all());
requestInitializer = new HttpCredentialsAdapter(credentials);
log.info("Google Auth Service Initialized");
}
public HttpRequestInitializer getCredential() {
return requestInitializer;
}
答复:
不用了,这是为你处理的
更多信息:
从文件中:
服务帐户使用不需要人工授权的OAuth 2.0流。相反,它使用一个只有您的应用程序才能访问的密钥文件
这个想法是服务帐户将继续运行,做它需要做的事情,而不需要任何人的交互,因此客户端库将为您处理这个问题
Google OAuth 2.0授权服务器发布的访问令牌在发布一小时后过期。当访问令牌过期时,应用程序应生成另一个JWT,对其进行签名,并请求另一个访问令牌
我希望这对你有帮助
参考资料: