BLOG マイロプスブログ

access_time2021.09.10

ブログ

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

こんにちは、マイロプスでエンジニアをしている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
カレンダー連携したいアカウントでログインしてください。
ログインすると下記のようになるかと思います。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

・ITとデザインのチカラで、なにか面白いことができないかと思っている人

・デザインを制作だけでなく人と人、モノ、コトとの関係性の設計と捉え、 社会を動かす重要な概念だと思っている人。
やりたいことがあればどんどん発言できる会社なので私個人的にはITに興味があって好奇心旺盛な人ならきっと飽きない会社だと思います。

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

エンジニア

Fukushima

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

関連ブログ記事

  • access_time2019.05.20

    ブログ

    CakePHP2のページネーションでハマったこと

  • access_time2020.01.16

    ブログ

    Amazon Linux2のMariaDBをMySQLに差し替えでつまずいた点

最新の実績実例

  • access_time2020.02.04

    実績・実例

    ティエムファクトリ株式会社 公式ウェブサイト制作

  • access_time2020.02.04

    実績・実例

    プロジェクトイッカク ウェブサイトリニューアル

  • access_time2019.01.21

    実績・実例

    某製薬会社様向けの動画視聴申し込みサイトの制作


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