Мне нужно реализовать запланированное задание или задание, которое будет обновлять мои записи БД на основе событий календаря.Теперь у 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 детской площадке.
У меня есть эти значения (идентификатор клиента и секрет)которая работает на игровой площадке, которую я хочу использовать в своем коде ... но я понятия не имею, как.
Спасибо!