当事務所のスケジュール
目次:
今日(
※ 土日は更新されません。
業務状況
このスケジュールについて
上記のスケジュール表は、Google Calendarから、毎日データを自動更新させています。
Google Cloud の Calendar API を使って、自動的にカレンダー情報をホームページに反映させています。
作り方を知りたい方は、ぜひこの後の文章もお読みください。
スケジュールの作り方
カレンダー情報を API で取得する場合、今回使った Google の他に、 MicrosoftのGraph API もあります。 (以前は、 TimeTree というアプリの API があり、日本製で大変使いやすかったようなのですが、2023年12月にサービス終了予定とのことです)
Google の Calendar API について調べてみると、いろいろ種類があるのですが、今回は、 freebusy というクエリを利用しました。
カレンダーの時間だけを抽出するので、カレンダーイベントのタイトルや場所等が外部流出する心配もありません。
また、 freebusy は、 OAuth 認証も不要であるため、プログラムも簡単に作れます。
(手打ちの PHP ファイルのみで、 composer すら利用していません)
なお、セキュリティ上、apiキーや実行ファイルは、公開フォルダの外に置いています。
この技術でどんなことができるか?
当サイトの場合、午前・午後の予定だけ分かればよいので、上記のような簡素なスケジュールになりましたが、30分ごとの予定の有無を表示させることも可能です。
freebusy でネット上を探すと、 「PHPでGoogle Calendar API を使って空き時間を抽出してみた 」という記事が見つかります。この例では、30分ごとに予定を調べているようです。
また、 calendar api で OAuth 認証を使えば、 Google Calendar の情報を取得したり、編集したりもできます。
これを使えば、たとえば、会議室予約システムのようなものが作れると思います。
ただし、認証のプログラムは、ちょっとでも間違えると大変なことになるので、企業向けにプログラムを書いたことがあるプログラマに頼むようにしてください。
その他の注意点
Google Cloud を利用するために、 Google にクレジットカード情報を登録する必要があります。
ただし、2023年時点では、無料で利用できています。
(今後、みんなが利用して通信量が増えれば、課金されることになると思います)
当サイトの場合は、レンタルサーバーで cron が使えるため、毎日深夜に calendar api から情報を取得し、 json ファイルに出力しています。
このページでは、その静的な json ファイルを参照するという仕組みにしました。
(この方法なら Google への通信も1日1回で済むので)
このため、最大24時間は予定の反映が遅れる場合があります。ご注意ください。
最後までお読みいただき、ありがとうございました。
何かお気づきの点がありましたら、 お問い合わせ ください。