■概要
Google Calendar アダプタでは、同期処理の開始時にユーザー毎の情報を取得する際や、「予定」の読み取り、書き込みを実行する際に API をコール(リクエスト)します。
このため、ユーザー数や同期する「予定」の件数が多い場合や[ポーリング間隔]が短く頻繁に同期処理が実行される場合に、API のコール数(リクエスト数)が多くなります。
弊社にて試算した結果、以下の運用の場合には、API のコール数(リクエスト数)の制限値を変更する必要がないことを確認しています。
■影響を受けない運用の例
100
5
10,000
上記に示している数値よりも、ユーザ数やスケジュール数が多い場合、または、ポーリング間隔が短い(頻繁に同期処理を実行している)場合には、以降の「■1日あたりのAPIのコール数の計算方法」から使用回数を計算していただき、制限を超える場合には、以降の「■1日あたりのAPIのコール数の変更方法」をご参照いただき、変更を申請してください。
■1日あたりのAPIのコール数の計算方法
Google Calendar アダプタでは、同期処理の開始時に各ユーザーの「予定」を読み取るために、ユーザー毎に API を 2 回コールします。
この 2 回のコールは、同期処理毎に毎回必要です。
また、同期処理の対象となる「予定」が存在した場合、データの読み取りや書き込みのために、「予定」 1 件毎に、読み取りでは API を最大 4 回、書き込みでは API を最大 5 回コールします。
このため、1日あたりの API のコール数の概算は、以下の 3 つの値の合計となります。
(1) 同期処理を開始する際のAPIのコール数
ユーザー数 × 1時間あたりの同期処理実行回数 × 24(1日の時間数) × 2(処理毎のコール数)
(2) 「予定」の読み取りのためのAPIのコール数
1日にGoogle Calendarから読み取る「予定」の件数 × 4(処理毎のコール数の最大値)
(3) 「予定」の書き込みのためのAPIのコール数
1日にGoogle Calendarに書き込む「予定」の件数 × 5(処理毎のコール数の最大値)
計算例
ポーリング間隔が 5 分(1時間に12回実行)、ユーザー数が 100、一日に登録、変更、削除されるスケジュールが 10,000 件の場合、1日あたりの API のコール数は以下の値の合計となります。
(1) 同期処理を開始する際のAPIのコール数
100 × 12 × 24 × 2 = 57,600
(2) 「予定」の読み取りのためのAPIのコール数
10,000 × 4 = 40,000
(3) 「予定」の書き込みのためのAPIのコール数
10,000 × 5 = 50,000
上記の合計は 147,600 件で、1 日あたりの API のコール数の制限の初期値である200,000 より少ないため、API のコール数の制限を変更する必要はありません。
※上記の初期値は、2014 年 9 月 26 日時点の値です。お使いの環境で確認する方法は、「1日あたりのAPIのコール数の制限の確認方法」をご参照ください。
■1日あたりのAPIのコール数の変更方法
Googleのサポートセンターに、1 日あたりの API のコール数(リクエスト数)の制限の変更を依頼してください。
なお、コール数(リクエスト数)の変更後の値は、「■1日あたりのAPI使用回数の計算方法」から算出してください。
■1日あたりのAPIのコール数の制限の確認方法
お使いの環境における、1 日あたりの API のコール数(リクエスト数)の制限は、以下の方法で確認することができます。
- Google Developer Consoleにアクセスしてください。
- PIMSYNCで使用しているプロジェクトをクリックしてください。
- 「API」をクリックしてください。
- 「有効な API」のタブから、「Calendar API」をクリックしてください。
- 「割り当て」タブをクリックしてください。
- 「無料の割り当て」の行を参照してください。