第 118 章 Google Calendar 组件
作为 Camel 版本 2.15 可用
Google Calendar 组件通过 Google Calendar Web API 提供对 Google Calendar 的访问。
Google Calendar 使用 OAuth 2.0 协议 对 Google 帐户进行身份验证并授权访问用户数据。在使用此组件前,您需要 创建帐户并生成 OAuth 凭证。凭证包括 clientId、clientSecret 和 refreshToken。生成长期刷新Token 的方便资源是 OAuth playground。
Maven 用户需要在这些组件的 pom.xml 中添加以下依赖项:
<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-google-calendar</artifactId> <version>2.15.0</version> </dependency>
118.1. 1. Google Calendar 选项
Google Calendar 组件支持 3 个选项,它们如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
configuration (common) | 使用共享配置 | GoogleCalendar Configuration | |
clientFactory (advanced) | 使用 GoogleCalendarClientFactory 作为创建客户端的工厂。默认使用 BatchGoogleCalendarClientFactory | GoogleCalendarClient Factory | |
resolveProperty Placeholders (advanced) | 启动时,组件是否应自行解析属性占位符。只有 String 类型的属性才能使用属性占位符。 | true | 布尔值 |
Google Calendar 端点使用 URI 语法进行配置:
google-calendar:apiName/methodName
使用以下路径和查询参数:
118.1.1. 路径名(2 参数):
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
apiName | 需要 什么操作才能执行 | GoogleCalendarApiName | |
methodName | 所选操作需要什么子操作 | 字符串 |
118.1.2. 查询参数(14 参数):
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
accessToken (common) | OAuth 2 访问令牌。这通常在一小时后过期,因此建议长期使用 refreshToken。 | 字符串 | |
applicationName (common) | Google calendar 应用名称。示例应为 camel-google-calendar/1.0 | 字符串 | |
clientId (common) | 日历应用程序的客户端 ID | 字符串 | |
clientSecret (common) | 日历应用程序的客户端机密 | 字符串 | |
emailAddress (common) | Google 服务帐户的电子邮件地址。 | 字符串 | |
inBody (common) | 设置在 Exchange In Body 中传递的参数名称 | 字符串 | |
p12FileName (common) | 带有用于 Google Service Account 的私钥的 p12 文件的名称。 | 字符串 | |
refreshToken (common) | OAuth 2 刷新令牌。使用这个方法,Google Calendar 组件可在当前过期时获得新的 accessToken - 应用程序长期需要。 | 字符串 | |
scopes (common) | 指定您希望日历应用程序对用户帐户的权限级别。您可以用逗号分隔多个范围。如需更多信息,请参阅 https://developers.google.com/google-apps/calendar/auth。 | 字符串 | |
user (common) | 应用程序试图在服务帐户流中模拟用户的电子邮件地址 | 字符串 | |
bridgeErrorHandler (consumer) | 允许将消费者桥接到 Camel 路由 Error Handler,这意味着使用者试图获取传入消息或类似信息时出现任何异常,现在将作为一个消息进行处理,并由路由 Error Handler 处理。默认情况下,使用者将使用 org.apache.camel.spi.Exception 处理程序处理异常,该处理程序将记录在 WARN 或 ERROR 级别,并忽略。 | false | 布尔值 |
exceptionHandler (consumer) | 要让使用者使用自定义 ExceptionHandler。请注意,如果启用了选项 bridgeErrorHandler,则不使用这个选项。默认情况下,消费者处理异常,这将在 WARN 或 ERROR 级别记录,并忽略。 | ExceptionHandler | |
exchangePattern (consumer) | 在使用者创建交换时设置交换模式。 | ExchangePattern | |
同步 (高级) | 设置同步处理是否应当严格使用,还是允许 Camel 使用异步处理(如果受支持)。 | false | 布尔值 |