Google Oauth2 V4 Java API для получения токена доступа из идентификатора клиента и секрета клиента для использования по расписанию - PullRequest
0 голосов
/ 22 февраля 2019

Мне нужно реализовать запланированное задание или задание, которое будет обновлять мои записи БД на основе событий календаря.Теперь у push-уведомления (webhook) для событий календаря истек срок действия, и я установил его срок действия каждую неделю.

Теперь мне нужно было автоматизировать обновление этих веб-хуков (push-уведомлений), и меня будет вызывать или запускать планировщик задач.

Я уже написал часть, которая вызывает API для обновленияwebhook.Моя единственная проблема сейчас заключается в использовании токена доступа.Он работает, если я использовал токен доступа, полученный с Google OAuth Playground.Но получение токена доступа из моего приложения не работает (ошибка 401).

Теперь у меня есть рабочие client id и client secret, которые я использовал на игровой площадке Google oauth для генерации authorization code,refresh token и access token.

Проблема: Как мне сделать это программно?Я имею в виду использование идентификатора клиента и секрета для получения токена доступа?

Это то, что я сделал, но я всегда получаю ошибку 401:

static {
    try {
        GoogleCredential credential = GoogleCredential.fromStream(GoogleCalendarSupportImpl.class.getResourceAsStream("/google-ta-api-service-account.json"))                                              .createScoped(Arrays.asList(CalendarScopes.CALENDAR));
        credential.refreshToken();
        m_accessToken = credential.getAccessToken();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}

Я могу получить значение accessToken, ноэто не сработает (получает 401).

Я считаю, что учетная запись на google-ta-api-service-account.json отличается от той, которую я использовал на oauth детской площадке.

У меня есть эти значения (идентификатор клиента и секрет)которая работает на игровой площадке, которую я хочу использовать в своем коде ... но я понятия не имею, как.

Спасибо!

...