google OAuth2 получение токена доступа для учетной записи службы: истекло время ожидания подключения - PullRequest
1 голос
/ 24 сентября 2019

Я работаю над взаимодействием между серверами с API Google DialogFlow от имени учетной записи службы с помощью Google OAuth2.Но я получаю сообщение об ошибке при попытке сгенерировать токен доступа (credentials.refreshIfExpired ()):

java.io.IOException: Error getting access token for service account: connect timed out

enter image description here

здесь коды:

    GoogleCredentials credentials = GoogleCredentials.fromStream(new FileInputStream(System.getenv("GOOGLE_APPLICATION_CREDENTIALS")));

    if (credentials.createScopedRequired()) {
        credentials = credentials.createScoped(Collections.singletonList("https://www.googleapis.com/auth/dialogflow"));
    }

    credentials.refreshIfExpired();
    AccessToken token = credentials.getAccessToken();

    System.out.println(token.getTokenValue());

Я пытался найти решение разными способами, и кто-то сказал, что это может вызвать синхронизацию между временем моего сервера и временем Google.

Тогда яустановить часовой пояс по умолчанию в GMT

@SpringBootApplication
public class DialogFlowDemoApplication {

    @PostConstruct
    public void init(){
        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
        System.out.println("Spring boot application running in GMT timezone :"+new Date());
    }

    public static void main(String[] args) {

        SpringApplication.run(DialogFlowDemoApplication.class, args);

    }
}

enter image description here

Но это не помогает, это действительно сводит меня с ума.

мои зависимостиследующим образом:

<!--start google dependencies-->
<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-dialogflow</artifactId>
    <version>0.108.0-alpha</version>
</dependency>

<dependency>
    <groupId>com.google.oauth-client</groupId>
    <artifactId>google-oauth-client</artifactId>
    <version>1.30.1</version>
</dependency>

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-storage</artifactId>
    <version>1.90.0</version>
</dependency>

<dependency>
    <groupId>com.google.api-client</groupId>
    <artifactId>google-api-client</artifactId>
    <version>1.30.4</version>
</dependency>
<!--end of google dependencies--> 

Пожалуйста, помогите, спасибо!

...