Google カレンダーをより使いやすく-API連携による他システムとのデータ連携方法- 

2024年2月29日(木)
目次
  • 1. Google カレンダーのAPIについて
    • 2. Google Calendar API の利用方法
      • 3. APIで利用できるプログラミング言語について
        • 4. APIを利用するための組み込み方法の一例
          • 5. まとめ
            • 6. Jicoo(ジクー)について

            Google カレンダーは、Google社が提供する無料のオンラインカレンダーサービスです。

            ビジネスで必要なスケジュール管理やイベント管理に加えて、複数のユーザで一つのカレンダーが共有できたり、PCにスマホなど複数デバイスで利用できます。またリマインダーと通知で、大事な予定を知らせる機能もあります。

            便利で欠かせないこのスケジューラーと他の様々なシステムをつなげるのが、API連携です。

            自社システムやWebサイト、他社のサービスとの連携が、業務効率化に繋がるのは今やビジネスの常識です。

            ここではAPIを利用してGoogle カレンダーとの連携方法を説明します。

            Google カレンダーのAPIについて

            Google カレンダーのAPI連携は「Google Calendar API 」を使用しておこないます。

            RESTful APIであり、HTTPリクエストまたはGoogleクライアントライブラリを使用してアクセスできます。

            このAPIを使用すると、Google カレンダーのイベントを表示、作成、編集したり、カレンダーやアクセス制御などのカレンダー関連オブジェクトを操作できます。

            具体的には、次の機能があります。

            • カレンダーの一覧取得
            • カレンダーイベントの作成、更新、削除
            • カレンダーイベントの参加者、開始時刻、終了時刻、タイトルなどの属性の取得
            • カレンダーイベントの空き時間の取得

            Google Calendar APIを使用すると、Google カレンダーを他のシステムと連携して、次のことができます。

            • 他のシステムからGoogle カレンダーのイベントを取得して表示する
            • Google カレンダーのイベントを他のシステムに作成する
            • Google カレンダーのイベントの空き時間を他のシステムで使用する

            Google Calendar APIは、Google Cloud Platformの一部として提供されています。Google Cloud Platformに登録し、プロジェクトを作成することで、このAPIを使用できます。

            具体的な連携方法については、連携するシステムによって異なります。例えば、以下のような連携方法が考えられます。

            • 社内コラボレーションツールで、Google カレンダーの全社や各部署のイベントを取得して表示する
            • Webサイトの予約ページで、Google カレンダーのイベントを作成、更新、削除する
            • 自社開発のアプリケーションで、各メンバーのGoogle カレンダーのイベントの空き時間を取得する

            Google カレンダーと他のシステムを連携することで、さまざまな用途に応じた業務が効率的にこなせるようになります。

            Google Calendar API の利用方法

            Google Calendar APIを利用するためには、以下の手順が必要です。

            1. Google Cloud Platformのアカウントを作成

            Google Cloud Platformのアカウントを作成するには、以下の手順を実施します。

            Google Cloud PlatformのWebサイトにアクセスして、「無料で開始」を押します。

            既にGoogleアカウントがある場合は、メールアドレスとパスワードを入力します。

            新たにアカウントを作成する場合は、「アカウントを作成」を選択します。利用規約に同意して新しいアカウントの作成後に、再びサイトにログインしてください。

            2. Google Cloud Platformプロジェクトを作成

            Google Cloud Platformプロジェクトを作成するには、以下の手順を実施します。

            Google Cloud Platformのダッシュボードにログインします。中央の一覧画面の右側「プロジェクトの作成」を押します。

            プロジェクト名を入力します。必要であればプロジェクトの「場所」を入力します。

            作成」を押して作成を完了します。

            プロジェクト「My Project test01」が作成されました。

            3. Google Calendar APIを有効にする

            Google Calendar APIを有効にするには、以下の手順を実施します。

            ダッシュボードの左側のメニューから「APIとサービス」を選択します。

            左側のメニューから「ライブラリ」を選択します。

            画面の検索窓から「Google Calendar API」を検索します。

            表示された「Google Calendar API」を選択します。

            有効にする」を押して、APIを有効化します。

            API / サービス」の一覧に表示されます。

            4. サービスアカウントを作成

            サービスアカウントを作成するには、以下の手順を実施します。

            ダッシュボードのナビゲーションメニューを表示します。

            左側のメニューから「IAMと管理」→「サービスアカウント」を選択します。

            画面上部の「+サービスアカウントを作成」を押します。

            下記を入力します。

            • サービスアカウント名:表示されるアカウント名称
            • サービスアカウントID:コード作成で入力するアカウントアドレスのユーザー名
            • サービスアカウントの説明:該当アカウントの説明を記載

            入力が完了したら「完了」を押します。

            サービス一覧に、作成したアカウントが表示されます。

            5. サービスアカウントキーをダウンロード

            サービスアカウントキーをダウンロードするには、以下の手順を実施します。

            作成したサービスアカウントを選択します。

            上部タブメニューの「キー」を選び、「鍵を追加」のプルダウンメニューから「新しい鍵を作成」を選択します。

            キーのタイプ「JSON」を選択して、「作成」を押すとダウンロードが可能です。

            サービスアカウントキーがJSONファイルでダウンロードされ、有効となります。

            このファイルを、利用するシステムやサービス、アプリケーションで使用することになります。

            APIで利用できるプログラミング言語について

            各システムやサービスは、API のエンドポイントに HTTP リクエストを送信することで、Google カレンダーとのやり取りが可能です。

            以下は、Google Calendar API を利用するための主要なプログラミング言語です。

            • Python:Google の公式クライアントライブラリであるgoogle-api-python-client を使用することで、Python で簡単に Google Calendar API を利用可能
            • JavaScript/Node.js:googleapis パッケージを使用して、Node.js で Google Calendar API を利用可能
            • Java:Google の Java クライアントライブラリを使って、Java で Google Calendar API を利用可能
            • Ruby:google-api-client ライブラリを使用して、Ruby で Google Calendar API を利用可能
            • PHP:Google の PHP クライアントライブラリを使用して、PHP から Google Calendar API を利用可能
            • .NET (C#):Google の .NET クライアントライブラリを使って、C# から Google Calendar API を利用可能

            APIを利用するための組み込み方法の一例

            JavaScript(Node.js)での組み込み用コードを参考として紹介します。

            1行目 const { google } = require("googleapis");
            
            3行目 async function main() {
            
            // サービスアカウントキーの読み込み
            
              const keyFile = require("./key.json"); // 直接 JSON ファイルを読み込む
            
            // Google Calendar APIのビルド
            
            8行目 const calendar = google.calendar({ version: "v3", auth: keyFile });
            
            // カレンダーの一覧取得
            
            11行目const calendarList = await calendar.calendarList.list();
            
            // カレンダーの一覧表示
            
            14行目for (const calendar of calendarList.data.items){
            
            console.log(calendar.summary);
            
             }
            
            }
            
            19行目main().catch((err) => console.error(err));

            コードの各行を説明します。

            • 1行目:Google API Client Library for Node.jsをインポートする
            • 3行目:サービスアカウントキーを読み込んで、Google API Client Library for Node.jsで使用できるCredentialsオブジェクトを作成する
            • 8行目:Google Calendar APIのバージョンv3をビルドする
            • 11行目:Googleカレンダーのカレンダーの一覧を取得、取得したカレンダーの一覧はcalendarList変数に格納する
            • 14行目:calendarList変数のitemsプロパティに格納されているカレンダーの一覧をループ処理で処理、各カレンダーの概要をconsole.log()メソッドを使用して出力する
            • 19行目:main()関数の実行中にエラーが発生した場合に、console.error()メソッドを使用してエラーメッセージを出力する

            まとめ

            Google カレンダーでAPI連携は、準備にひと手間かかり、各システムやサービス向けのプログラムコードの作成も必要です。

            しかし様々なシステムとスケジュール情報が連携でき、Google カレンダーの制御まで可能な点は、大変なメリットです。

            特に一度入力したスケジュール情報を再入力することなく別システムで利用できるため、コストの削減に繋がります。

            またGoogle カレンダーを制御できるので、別システムから一度の操作でスケジュールまで設定できれば業務の効率化となります。

            API連携は様々なシステムやサービスを利用する現代のビジネスでは必須の技術です。

            Google カレンダーのAPI連携を皮切りに、様々なAPI利用を学びビジネスに役立ててください。

            Jicoo(ジクー)について

            予約システムを導入すると収益、業務効率化に多くのメリットがあります。どの予約システムが良いか選択にお困りの方は、普段使っているGoogleカレンダーやOutlookなどのカレンダーサービスをベースにした予約システムの導入がおすすめです。

            無料で使える予約システム「Jicoo」とは?

            Jicoo(ジクー)は無料で使えて予約管理、事前決済(集金)、顧客管理まで対応。PC・スマホどちらでも見やすく使いやすい予約システムです。
            予約ページを作成
            予約ページを作成
            予約可能な時間帯や提供サービスなど簡単な設定のみで予約ページを作成。
            URLを共有
            URLを共有
            メールやチャットツールで作成した予約ページのURLを共有して、日時を予約してもらいましょう。
            予約完了 / 予定自動登録
            予約完了 / 予定自動登録
            ゲストが都合の良い日時を選択すると予約完了。あなたのカレンダーに予定が自動で入ります。
            法人・チーム利用のお問い合わせ
            シェア
            SPACEMARKET