CakePHP4でのGoogle API連携
〜Google API連携準備編〜

thumbnail_20210910.png

こんにちは、マイロプスでエンジニアをしているFukushimaです。
CakePHP4でGoogle APIを使用してカレンダーの予定を取得したり、追加、編集、削除をする方法を紹介します。
調べてところPHPでのやり方はあるのですがCakePHPでのやり方があまりなかったので 最新のversion 4(4.2.7)でやってみます。

説明が長くなるので、記事を2回に分けてやり方を紹介します。
まず第1回目はGoogleカレンダー側での連携準備について、
第2回ではCakePHPでのカレンダー操作について説明します。

前提として既にGoogleのアカウントを持ち、CakePHP4は「Amzon Linux2」上にインストール済みの想定で説明していきます。 ウェブサーバーは「Apache/2.4.46」、DBは「5.5.68-MariaDB」です。

GoogleAPI連携準備編

まずはGoogleのAPIを使用できるように設定しましょう。
下記のGoogle Cloud プラットフォームにアクセスします。

https://console.cloud.google.com/apis/library?hl=ja

カレンダー連携したいアカウントでログインしてください。
ログインすると下記のようになるかと思います。

sashie_20210910_1.png

次にプロジェクトの作成に移ります。赤枠の「プロジェクトの選択」を押下してください。

sashie_20210910_2.png

押下すると以下のようなプロジェクトのフォームが出ますので赤枠の「新しいプロジェクト」を押下してプロジェクトを作成しましょう。

sashie_20210910_3.png

特に決まっていなければデフォルトで入力されている名前をそのまま使って「作成」を押下してください。

sashie_20210910_4.png

作成したプロジェクトを選択します。

sashie_20210910_5.png

次にライブラリより「Google Calendar API」を使用できるようにします。

sashie_20210910_6.png

ライブラリページの検索ワードで「Calendar」を入力すると出てきます。
対象を押下した後に「有効にする」を押下してください。これで「Google Calendar API」が有効になります。

sashie_20190910_7.png

次にAPI用のアカウントのサービスアカウントを作成します。メニューより下記の画像の様に「認証情報」を押下してください。

sashie_20190910_8.png

「認証情報を作成」を押下すると「サービス アカウント」が出てくるので押下してください。

sashie_20190910_9.png

サービスアカウント名は半角英数字で任意の名前をつけてください。

sashie_20190910_10.png

②のプロジェクトへのアクセス許可はとりあえず「オーナー」を選んでください。
③は省略して「完了」を押下してください。

sashie_20190910_11.png

作成し終わると「認証情報」ページに戻ります。先ほど作成したサービスアカウントがあるので押下してください。次に「キー」を押下してキー設定ページに飛び、「鍵を追加」を押下して鍵ファイルを作成しましょう。

sashie_20190910_12.png

今回は「JSON」で作成します。作成すると自動でJSONファイルがDLされます。
このファイルはCakePHPでカレンダーを操作する際に使用しますので保管してください。

sashie_20190910_13.png

次にGoogleカレンダーを開きます。画面左上にある歯車を押下し、「設定」を選択してください。ここの設定から先ほど作成したサービスアカウントを設定していきます。

sashie_20190910_14.png

設定画面で左のサイドメニューより自分のカレンダーを選択すると画面が切り替わります。

sashie_20190910_15.png

特定のユーザーとの共有で「ユーザーを追加」を押下してください。
設定するユーザーは先ほど作成したサービスアカウントのメールアドレスです。

sashie_20190910_16.png

今回はカレンダーの予定確認と予定の追加/編集/削除を行いますので権限は「変更および共有の管理権限」に設定しましょう。

sashie_20190910_17.png

これでカレンダーをAPIで操作する準備ができました。
他のアカウントにもこのユーザーを追加していけば連携ができるようになります。

以上、最後まで読んでいただきありがとうございました。

マイロプスでは一緒に働いてくるエンジニア、デザイナーを募集中です!

人と人、人とコト、人とチャンスを繋げられる自社プロダクトの開発等を一緒にやってみませんか?

  • ITとデザインのチカラで、なにか面白いことができないかと思っている人
  • デザインを制作だけでなく人と人、モノ、コトとの関係性の設計と捉え、 社会を動かす重要な概念だと思っている人。

やりたいことがあればどんどん発言できる会社なので私個人的にはITに興味があって好奇心旺盛な人ならきっと飽きない会社だと思います。

興味がある方は求人ページをご覧ください。

Fukushima

エンジニア

SESを2年経験し、マイロプスに入社。
週末は趣味のバスケットボールをしている。

関連記事

お仕事のご相談、採用についてなど、お気軽にお問い合わせください。