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