如何解决通过服务帐户使用Google库访问驱动器API时,是否需要显式刷新令牌 答案:更多信息:参考文献:
我有一个用Java编写的应用程序,该应用程序通过服务帐户使用Google SDK for drive API将文件上传到Google Drive。我想了解我确实需要显式处理访问令牌到期问题,因为据我了解,SDK本身会检查并刷新令牌(如果令牌过期)。 我可能是错的,但是我没有找到有关服务帐户令牌刷新的任何文档。 任何对此的解释将非常有帮助。 如果有帮助,我已附加了Google授权代码。
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,对其进行签名,然后请求另一个访问令牌。
我希望这对您有帮助!
参考文献:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。