GoogleカレンダーAPIをJavascriptのサンプルコードで使ってみよう

◆ Live配信スケジュール ◆
サイオステクノロジーでは、Microsoft MVPの武井による「わかりみの深いシリーズ」など、定期的なLive配信を行っています。
⇒ 詳細スケジュールはこちらから
⇒ 見逃してしまった方はYoutubeチャンネルをご覧ください
【5/21開催】Azure OpenAI ServiceによるRAG実装ガイドを公開しました
生成AIを活用したユースケースで最も一番熱いと言われているRAGの実装ガイドを公開しました。そのガイドの紹介をおこなうイベントです!!
https://tech-lab.connpass.com/event/315703/

こんにちは。8月28日から3週間ほどインターンとしてお世話になっている、東京工科大学の有田です。

インターンではWebアプリケーションを制作し、GoogleカレンダーAPIをJavascriptで利用しました。その際、Googleワークスペースのサンプルコードを改良して実装したので、ここでは改良するためにサンプルコードがどのように動いているのか備忘録的にまとめようと思います。

サンプルコード元はこちらを参照してください。

 

それぞれの関数が何をやっているのか

関数gapiLoaded()

ここでは、クライアント情報を初期化しています。

関数initializeGapiClient()

ここでは、APIキーの設定とAPIのドキュメントを読み込んでいます。読み込みが終わるとgapiInitedがtrueになり、正常に動作したことがわかります。

関数gisLoaded()

ここではOAuth認証のクライアントIDと、ユーザーにカレンダーのどの権限を許可を求めるか決めるスコープを設定します。 設定が終わるとgisInitedがtrueになり、正常に動作したことがわかります。

関数maybeEnableButtons()

ここではAPIキーやOAuth認証がきちんと作動できているか確かめるため、先ほどのgapiInitedとgisInitedがtrueになっているか確認し、確認できたらボタンを表示します。ボタンを表示するかわりに別の処理をすることによって、サインインの方法を変えることができます。

関数handleAuthClick()

ここではサインインのボタンを押したときの処理をします。エラーが発生した場合はエラーを返し、それ以外の場合はサインインのボタンは更新ボタンに名称を変更し、ログアウトボタンを表示します。if (gapi.client.getToken() === null)から続くコードでは新しく通信が開始されたとき、アカウント選択画面などの画面を表示し、そうではない場合はアカウント選択画面などを表示しません。

関数handleSignoutClick()

ここではサインアウトのボタンを押したときの処理についての処理をします。Googleアカウントの連携情報やサインインサインアウトのリセットを行っています。

関数listUpcomingEvents()

ここでは、Googleカレンダーからどの情報をもってくるか決め出力します。カレンダーID(メインカレンダーはprimary)、加えるイベントの終了時間、削除済みの予定を表示するか、単独の予定を表示するかどうか、予定をいくつ表示するか、結果がどのような順番で表示されるかをそれぞれ設定しています。もっと追加するなどしたい場合は、GoogleワークスペースのEvents: listを参照しましょう。その後、例外処理でエラーを表示できるようにし、イベントを設定していないときの表示をしています。最後に、変数outputにGoogleカレンダーAPIから取得した情報を入れ、出力します。

 

おわりに

今回はインターンで使用したGoogleカレンダーAPIのサンプルコードのそれぞれの意味についてまとめました。GoogleカレンダーAPIのサンプルコードで詰まってしまった人の助けになれば幸いです。

ご覧いただきありがとうございます! この投稿はお役に立ちましたか?

役に立った 役に立たなかった

0人がこの投稿は役に立ったと言っています。


ご覧いただきありがとうございます。
ブログの最新情報はSNSでも発信しております。
ぜひTwitterのフォロー&Facebookページにいいねをお願い致します!



>> 雑誌等の執筆依頼を受付しております。
   ご希望の方はお気軽にお問い合わせください!

Be the first to comment

Leave a Reply

Your email address will not be published.


*


質問はこちら 閉じる