gpt4 book ai didi

android - 如果 GoogleCredential 已过期,如何检查它

转载 作者:行者123 更新时间:2023-11-30 04:00:14 26 4
gpt4 key购买 nike

我已经从 saved-access-token 和 saved-refresh-token 初始化了 GoogleCredential 变量。但我不知道检查它是否过期?

我知道 GoogleCredential 有一个函数 getExpiresInSeconds。但是,如果我从保存的访问 token 和保存的刷新 token 初始化 GoogleCredential,函数 getExpiresInSeconds 将返回 null。

这种情况下getExpiresInSeconds不会为空

mResponse = mFlow.newTokenRequest(code).setRedirectUri(REDIRECT_URI).execute();
mCredential = new GoogleCredential.Builder().setClientSecrets(CLIENT_ID, CLIENT_SECRET).setJsonFactory(mJsonFactory).setTransport(mHttpTransport).build();
mCredential.setFromTokenResponse(mResponse);
mCredential.getExpiresInSeconds() // will return expired value in second

但在这种情况下

String accessTokenSave = mPrefs.getString(GOOGLE_DRIVE_TOKEN, "NO KEY");
String accessRefreshTokenSave = mPrefs.getString(GOOGLE_DRIVE_REFRESH_TOKEN, "NO KEY");

mHttpTransport = new NetHttpTransport();
mJsonFactory = new JacksonFactory();
mCredential = new GoogleCredential.Builder()
.setClientSecrets(CLIENT_ID, CLIENT_SECRET)
.setJsonFactory(mJsonFactory)
.setTransport(mHttpTransport).build();

mCredential.setAccessToken(accessTokenSave);
mCredential.setRefreshToken(accessRefreshTokenSave);
mCredential.getExpiresInSeconds() // will return null value

那么我如何检查 mCredential 是否从 accessTokenSave 和 accessRefreshTokenSave 加载它

最佳答案

访问 token 将在一小时后过期,而刷新 token 将一直有效,直到被用户撤销。但是,您永远不应该依赖这些时间,而是准备在凭据不再有效时捕获异常,并做出相应的 react 。

查看文档以了解完整流程的描述,以及实现它的示例代码:https://developers.google.com/drive/credentials

关于android - 如果 GoogleCredential 已过期,如何检查它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12618895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com