我需要实施计划的任务或作业,该任务或作业将根据日历事件更新我的数据库记录。现在,日历事件的推送通知(webhook)已过期,我将其设置为每周过期。
现在,我需要自动更新这些Webhooks(推送通知),并且将由任务调度程序调用或运行。
我已经对调用API的部分进行了编码,以更新Webhook。我现在唯一的问题是要使用的访问令牌。如果我使用从Google OAuth Playground获得的访问令牌,就可以使用。但是从我的应用程序获取访问令牌无效(获取401错误)。
现在,我在Google oauth游乐场中使用了工作的client id
和client secret
来生成authorization code
,refresh token
和access token
。 / p>
问题: 如何以编程方式执行此操作?我的意思是使用客户端ID和密码来获取访问令牌?
这是我所做的,但我总是收到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 Playground中使用的帐户不同。
我有那些值(客户端ID和密码)可以在我想使用的代码中使用,但是我不知道该怎么做。
谢谢!