Google カレンダー
サポート対象のバージョン
このコネクタは、Google Calendar REST API をサポートしています。
始める前に
Google Cloud プロジェクトで次のタスクを行います。
- ネットワーク接続が設定されていることを確認します。詳細については、ネットワーク接続をご覧ください。
- コネクタを構成するユーザーに roles/connectors.admin IAM ロールを付与します。
- コネクタに使用するサービス アカウントに
roles/secretmanager.viewerとroles/secretmanager.secretAccessorの IAM ロールを付与します。 secretmanager.googleapis.com(Secret Manager API)とconnectors.googleapis.com(Connectors API)を有効にします。詳細については、サービスを有効にするをご覧ください。
コネクタを構成する
接続はデータソースに特有です。つまり、多数のデータソースがある場合は、データソースごとに別々の接続を作成する必要があります。接続を作成する手順は次のとおりです。
- Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。
- [+ 新規作成] をクリックして [接続の作成] ページを開きます。
- [ロケーション] セクションで、次の操作を行います。
- リージョン: プルダウン リストからロケーションを選択します
サポートされているすべてのリージョンのリストについては、ロケーションをご覧ください。
- [次へ] をクリックします。
- リージョン: プルダウン リストからロケーションを選択します
- [接続の詳細] セクションで、次の操作を行います。
- コネクタ: 使用可能なコネクタのリストから [Google カレンダー] を選択します。
- コネクタのバージョン: 使用可能なバージョンのリストからコネクタのバージョンを選択します。
- [接続名] フィールドに、接続インスタンスの名前を入力します。接続名には、小文字、数字、ハイフンを使用できます。名前の先頭は英字、末尾は英字または数字にする必要があります。名前は 49 文字以下にする必要があります。
- 説明: 接続インスタンスの説明を入力します。
- 必要に応じて、Cloud Logging を有効にして、ログレベルを選択します。デフォルトのログレベルは
Errorに設定されています。 - サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
- 接続タイムアウト: 必要に応じて、接続タイムアウトを秒単位で入力します。
- 必要に応じて、接続ノードの設定を構成します。
- ノードの最小数: 接続ノードの最小数を入力します。
- ノードの最大数: 接続ノードの最大数を入力します。
ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。
- + ラベルを追加: クリックすると、Key-Value ペアの形式でラベルを接続に追加できます。
- [次へ] をクリックします。
-
[認証] セクションで、認証の詳細を入力します。
- [認証タイプ] を選択し、関連する詳細を入力します。
Google カレンダー接続でサポートされる認証タイプは次のとおりです。
- サービス アカウント認証
- OAuth 2.0 - JWT Bearer
- OAuth 2.0 - 認証コード
これらの認証タイプの構成方法については、認証を構成するをご覧ください。
- [次へ] をクリックします。
- [認証タイプ] を選択し、関連する詳細を入力します。
- Review: 接続と認証の詳細を確認します。
- [作成] をクリックします。
認証を構成する
使用する認証に基づいて詳細を入力します。
- サービス アカウント認証: この認証タイプでは、追加の構成は必要ありません。[接続の詳細] セクションで選択したサービス アカウントが認証に使用されます。
-
OAuth 2.0 - JWT Bearer
- JWT 証明書: JWT 認証に使用する証明書を選択します。
- シークレット バージョン: JWT 証明書のシークレット バージョンを入力します。
- JWT サブジェクト: JWT サブジェクトを入力します。
-
OAuth 2.0 - 認証コード
- クライアント ID: OAuth 認証に使用するクライアント ID を入力します。
- スコープ: 必要なスコープのリストを入力します。
- クライアント シークレット: OAuth 認証に使用するクライアント シークレットを入力します。
- シークレット バージョン: クライアント シークレットのシークレット バージョンを入力します。
接続構成のサンプル
このセクションでは、接続の作成時に構成するさまざまなフィールドのサンプル値を示します。
サービス アカウントの接続タイプ
| フィールド名 | 詳細 |
|---|---|
| ロケーション | us-central1 |
| コネクタ | Google カレンダー |
| コネクタのバージョン | 1 |
| 接続名 | service-account-auth |
| Cloud Logging を有効にする | ○ |
| サービス アカウント | iam.gserviceaccount.com |
| ノードの最小数 | 2 |
| ノードの最大数 | 50 |
| 認証 | はい |
| サービス アカウント認証 | はい |
OAuth 2.0 - JWT Bearer 接続タイプ
| フィールド名 | 詳細 |
|---|---|
| ロケーション | us-central1 |
| コネクタ | Google カレンダー |
| コネクタのバージョン | 1 |
| 接続名 | jwt-bearer-auth |
| Cloud Logging を有効にする | ○ |
| サービス アカウント | iam.gserviceaccount.com |
| ノードの最小数 | 2 |
| ノードの最大数 | 50 |
| 認証 | はい |
| OAuth 2.0 - JWT Bearer | はい |
| JWT 証明書 | projects/google-cloud-project/secrets/jwt-cert/versions/1 |
| シークレットのバージョン | 1 |
OAuth 2.0 - 認証コードの接続タイプ
| フィールド名 | 詳細 |
|---|---|
| ロケーション | us-central1 |
| コネクタ | Google カレンダー |
| コネクタのバージョン | 1 |
| 接続名 | gcpcloud-googlecalendar-rest-conn |
| Cloud Logging を有効にする | ○ |
| サービス アカウント | iam.gserviceaccount.com |
| ノードの最小数 | 2 |
| ノードの最大数 | 50 |
| 認証 | はい |
| クライアント ID | 60875425788659-mt0cm1tguyiagvst468fvaw7.apps.googleusercontent.com |
| 範囲 | https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/drive |
| クライアント シークレット | ygdruoX-Rtyah9gzkdZc-7CB0Eng9hyaufD0VD |
| シークレットのバージョン | 1 |
システムの上限
Google カレンダー コネクタは、ノードごとに 1 秒あたり最大 2 件のトランザクションを処理することができ、この上限を超えるトランザクションはすべてスロットルされます。デフォルトでは、Integration Connectors は、接続に 2 つのノードを割り当てます(可用性を高めるため)。
Integration Connectors に適用される上限の詳細については、上限をご覧ください。
統合で Google カレンダー接続を使用する
接続を作成すると、Apigee Integration と Application Integration の両方で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。
- Apigee Integration でコネクタタスクを作成して使用する方法については、コネクタタスクをご覧ください。
- Application Integration で Connectors タスクを作成して使用する方法については、コネクタタスクをご覧ください。
エンティティ オペレーションの例
このセクションでは、このコネクタで エンティティ オペレーションの一部を実行する方法について説明します。
例 - すべてのカレンダーを一覧表示する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからCalendarsを選択します。- [
List] オペレーションを選択し、[完了] をクリックします。 - [コネクタ] タスクの [タスク入力] セクションで、お客様の要件に応じて filterClause を設定できます。
filterClause の値を囲むには、単一引用符(')を使用する必要があります。
filterClause を使用すると、列に基づいてレコードをフィルタできます。
例 - カレンダーの詳細を取得する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからCalendarsを選択します。- [
Get] オペレーションを選択し、[完了] をクリックします。 entityIdを、渡されるキーである"c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com"に設定します。- entityId を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに
"c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com"を入力し、entityId をローカル変数として設定します。
entityId の値は直接渡す必要があります("c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com" など)。ここで、"c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com" は一意の主キー値であり、渡す必要があります。
エンティティが 2 つの複合キーを使用している場合、entityId を渡すとエラーがスローされることがあります。このような場合は、filterClause を使用して、id='c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com' などの値を渡すことができます。
例 - カレンダーを削除する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからCalendarsを選択します。- [
Delete] オペレーションを選択し、[完了] をクリックします。 - entityId を
"c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com"に設定します。これは渡されるキーです。entityId を設定するには、[データ マッピング] の [データ マッパー] セクションで [データ マッピング エディタを開く] をクリックし、[入力値] フィールドに"c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com"を入力し、entityId をローカル変数として設定します。エンティティに 2 つの複合ビジネスキーまたは主キーがある場合、entityId を指定する代わりに、filterClause を
id='c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com'に設定することもできます。
例 - カレンダーを作成する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからCalendarsを選択します。- [
Create] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、connectorInputPayloadをローカル変数として設定します。{ "Summary": "New calendar" }統合が成功すると、
calendarタスクのconnectorOutputPayloadレスポンス パラメータの値は次のようになります。{ "Id": "c_5bae32e1c48ed38af98efecbd6da6bb002a31e887276aa65cc2530717123b75f@group.calendar.altostrat.com" }
例 - カレンダーで予定を作成する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからAllCalendarsを選択します。- [
Create] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、connectorInputPayloadをローカル変数として設定します。{ "Summary": "New event", "CalendarId": "c_b4e891cebb19267bf5ac838f0c5f691bee164a7cec9dcc1a93e54625279baa80@group.calendar.altostrat.com", "StartDate": "2025-09-01", "EndDate": "2025-09-02" }アクションが成功すると、
calendarタスクのconnectorOutputPayloadレスポンス パラメータの値は次のようになります。{ "Id": "fnf0p7292pbm2buk59ubc1a37k", "CalendarId": null }
例 - メイン カレンダーで予定を作成する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 Entityリストからメール ID を選択します。- [
Create] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、connectorInputPayloadをローカル変数として設定します。{ "Summary": "new event for my calendar", "CalendarId": "xyz@xwf.altostrat.com", "StartDate": "2025-09-01", "EndDate": "2025-09-02" }アクションが成功すると、
AllCalendarsタスクのconnectorOutputPayloadレスポンス パラメータの値は次のようになります。{ "Id": "fnf0p7292pbm2buk59ubc1a37k", "CalendarId": null }
例 - カレンダーでイベント タイプを作成する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからAllCalendarsを選択します。- [
Create] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、connectorInputPayloadをローカル変数として設定します。{ "EventType": "outOfOffice", "Summary": "outOfOffice", "CalendarId": "xyz@xwf.altostrat.com", "StartDateTime": "2025-09-03 14:00:00", "EndDateTime": "2025-09-03 15:00:00" }アクションが成功すると、
AllCalendarsタスクのconnectorOutputPayloadレスポンス パラメータの値は次のようになります。{ "Id": "fnf0p7292pbm2buk59ubc1a37k", "CalendarId": null }
例 - カレンダーで定期的な予定を作成する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからAllCalendarsを選択します。- [
Create] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、connectorInputPayloadをローカル変数として設定します。{ "Summary": "Google Cloud Recurring event", "CalendarId": "xyz@xwf.altostrat.com", "StartDateTime": "2025-11-2 14:00:00", "EndDateTime": "2025-11-2 14:30:00", "Recurrences": "RRULE:FREQ=WEEKLY;BYDAY=TH;COUNT=5", "StartDateTimeZone": "America/Los_Angeles", "EndDateTimeZone": "America/Los_Angeles" }アクションが成功すると、
AllCalendarsタスクのconnectorOutputPayloadレスポンス パラメータの値は次のようになります。{ "Id": "fnf0p7292pbm2buk59ubc1a37k", "CalendarId": null }
例 - カレンダーの詳細を更新する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからCalendarsを選択します。- [
Update] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、connectorInputPayloadをローカル変数として設定します。{ "Summary": "Updated from Google Cloud" } - データマッパーで entityId をカレンダーのエンティティに設定します。
- entityId を設定するには、[
Open Data Mapping Editor] をクリックし、[Input Value] フィールドに次のような値を入力して、entityId をローカル変数として設定します。[entityId] を指定する代わりに、[filterClause] を
id='c_3054d6e09a9dfae7886f995311@group.calendar.altostrat.com'に設定することもできます。この例を実行すると、コネクタ タスクの
connectorOutputPayload出力変数で次のようなレスポンスが返されます。{ "Id": "c_5bae32e1c48ed38af98efecbd6da6bb002a31e887276aa65cc2530717123b75f@group.calendar.altostrat.com" }
例 - すべてのカレンダーの詳細を更新する
- [
Configure connector task] ダイアログで、[Entities] をクリックします。 EntityからAllCalendarsを選択します。- [
Update] オペレーションを選択し、[完了] をクリックします。 - [データ マッピング] タスクの [データ マッパー] セクションで、
Open Data Mapping Editorをクリックし、[Input Value] フィールドに次のような値を入力し、connectorInputPayload をローカル変数として設定します。{ "Summary": "Great event" } - データマッパーで entityId を AllCalendars のエンティティに設定します。
- entityId を設定するには、[
Open Data Mapping Editor] をクリックし、[Input Value] フィールドに次のような値を入力して、entityId をローカル変数として設定します。[entityId] を指定する代わりに、[filterClause] を
Summary='New sep event'に設定することもできます。この例を実行すると、コネクタ タスクの
connectorOutputPayload出力変数で次のようなレスポンスが返されます。{ "Id": "fnf0p7292pbm2buk59ubc1a37k", "CalendarId": null }
Google Cloud コミュニティの助けを借りる
Google Cloud コミュニティの Cloud フォーラムで質問を投稿したり、このコネクタについてディスカッションしたりできます。次のステップ
- 接続を一時停止して再開する方法を確認する。
- コネクタの使用状況をモニタリングする方法を確認する。
- コネクタログを表示する方法を確認する。