У меня есть токен доступа, срок его действия истекает в течение 1 часа, но я хочу, чтобы он работал больше этого, поэтому я использовал метод setExpiresInSeconds (), чтобы установить время и когда я получаю значение с помощью getExpiresInSeconds ().Он показывает время, которое я добавил, но срок действия маркера доступа истекает через 1 час, даже если я держу время более 1 часа.
GoogleCredential googleCred = GoogleCredential.fromStream (serviceAccount);
HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JacksonFactory jsonFactory = new JacksonFactory();
Set<String> scopes = new HashSet<String>();
scopes.add(DirectoryScopes.ADMIN_DIRECTORY_USER);
scopes.add(DirectoryScopes.ADMIN_DIRECTORY_GROUP);
scopes.add(DirectoryScopes.ADMIN_DIRECTORY_GROUP_MEMBER);
GoogleCredential credentialWithUser = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(jsonFactory)
.setServiceAccountUser(SERVICE_ACCOUNT_USER) // <--- mail of domain's admin
.setServiceAccountId(googleCred.getServiceAccountId())
.setServiceAccountScopes(scopes)
.setServiceAccountPrivateKey(googleCred.getServiceAccountPrivateKey())
.setServiceAccountPrivateKeyId(googleCred.getServiceAccountPrivateKeyId())
.setTokenServerEncodedUrl(googleCred.getTokenServerEncodedUrl()).build();
// Use the Google credential to generate an access token
credentialWithUser.refreshToken();
credentialWithUser.setExpiresInSeconds(5000l);
token = credentialWithUser.getAccessToken();
log.info("getAccessToken() access token value : " + token );
String lifeSpan = credentialWithUser.getExpiresInSeconds().toString();
log.info("getAccessToken() access token lifespan in second : " + lifeSpan + "sec");
Iхотите, чтобы у моего маркера доступа было больше время истечения.Я разрабатываю настольное приложение и не могу использовать URL для получения токена обновления, потому что у меня уже есть redirect_uri.Подскажите, пожалуйста, какой будет лучший вариант увеличения периода доступа токена?