Google Calendar APIを使うための事前準備ガイド

Google Calendar APIを利用して、イベントを作成しカレンダーに表示するまでの手順を分かりやすく解説いたします。

事前準備からカレンダーへのイベント反映まで を5つのステップに分けて説明します。

Google Cloud Platform (GCP) のアカウントが必要ですので、未作成の方はあらかじめアカウントを作成してください。

:::note info
1.  Google Calendar APIを有効化する
2.  Google Cloudでサービスアカウントを作成
3.  Google Calenderとサービスアカウントの紐付け
4.  エディターにコードを書きイベントを作成
5.  ルートを作成しテストを実施
長くなりますので4と5は別の記事に書いていこうと思います。
:::

# 1. Google Calendar APIを有効化する
Google Cloud Platformの中央の検索バーでGoogle Calender Apiと検索します。
![スクリーンショット 2024-11-19 1.21.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/6abaab49-5021-4ff4-a491-996ff0c13b3c.png)

有効にするをクリックします
![スクリーンショット 2024-11-19 1.26.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/0ee70fac-4b5e-65a2-b764-95628641318e.png)


# 2. Google Cloudでサービスアカウントを作成
2-1:   検索ボックスでIamと管理と検索します
![スクリーンショット 2024-11-19 1.29.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/5805d643-028a-e91b-75f4-6ec464b4870b.png)

2-2: サービスとアカウントをクリックします
![スクリーンショット 2024-11-19 1.31.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/81554c63-9418-8f68-d80c-bcf3a2dc3ac8.png)

2-3: 検索ボックスの下に+サービスアカウントを作成とありますのでそちろをクリックしてください。以下のように表示されると思います。
![スクリーンショット 2024-11-19 1.35.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/ef355ce1-71ac-bdcf-d922-a8a4bdf1ca16.png)
特に決まりはなさそうなので自由に作成して大丈夫だと思います。
入力しましたら下まで行き完了をクリックします。

先ほど作成した、サービスアカウントが表示されます。
2-4: 右側の操作の下にある点をクリックすると項目が出てくるので鍵を管理をクリックします。
![スクリーンショット 2024-11-19 23.35.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/07fe1c69-8c33-4d17-b932-e6d3f236afdd.png)


2-5: 左下にある鍵を追加->新しい鍵を作成をクリックします
![スクリーンショット 2024-11-19 1.47.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/65c930c1-79f1-cd54-5d98-9098a1aa7c5f.png)

2-6: キータイプをJSONとし作成します。
そうしますと、jsonファイルがダウンロードされます。
サービス アカウントの画面に戻り、キーIDが追加されていることを確認してください。以下のように追加されていれば大丈夫です。
![スクリーンショット 2024-11-19 1.54.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/a324de90-0c4d-929f-bea9-e968a7ab2d88.png)

:::note info
サービスアカウントのメールアドレスは、Google Calendarにアクセス権を付与するために必要です。メモしておいてください。
:::

:::note warn
2-7: デスクトップにファイルを作成し先ほどダウンロードされたjsonファイルを中に入れておきます。後でjsonファイルの場所のpathを使います。pathが分かればいいので自分がわかる場所で保管してください。
:::


# 3.googleCalenderとサービスアカウントの紐付け
### カレンダーの方で作業します。
https://calendar.google.com

3-1: 左上にある≡をクリックすると左下に他のカレンダーと表示されます
![スクリーンショット 2024-11-19 2.07.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/72b9f05e-1c5f-0e5e-b229-df986ab6d7f9.png)
2 他のカレンダーの右側にある+ボタンを押したらプルダウンが表示されますので、新しいカレンダーを作成をクリックします。名前をつけて作成してください。

:::note info
新しく作成しなくてもいいのですが、デフォルトのカレンダーだと、後ほど必要となるcarenderIdが自分のgmailアドレスとなってしまったため、新しく作成を行いました。
:::

作成後
3-2:　マイカレンダーの設定に自分が作成したカレンダーの名前が追加されると思います。作成したものをクリックし、特定のユーザーまたはグループと共有するをクリックします
![スクリーンショット 2024-11-19 2.18.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/8a19d0e9-68a5-aaf3-0f6e-91addeda7c0b.png)

3-3: 特定のユーザーまたはグループと共有するという項目の下にある
+ユーザーやグループを追加をクリックします
3-4: 先ほどのサービスアカウントのメールアドレスを貼り付けし、権限を変更します
![スクリーンショット 2024-11-19 2.24.28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3931703/f6726db3-60e1-3ca4-2475-26583d4df4c0.png)
送信します。

3-5: 最後に、少し下がるとカレンダーIDがあるのでenvファイルへ貼り付けます。
3-6: 2-7のjsonのpathを貼りつけます。
これらはコードをコードを書いたときに呼び出します。
```php:.env
                         <!--ダウンロードしたjsonのpath-->
GOOGLE_CALENDAR_API_KEY=/Users/xxxxxxx/Desktop/project/my-project-xxxxxxx.json

                   <!--カレンダーId-->
GOOGLE_CALENDAR_ID=8edcf9f3bbc89xxxxxxxx@group.calendar.google.com
```


以上で下準備は終わりになります。
次の記事
Google Calendar APIを使いイベントを作成しカレンダーに反映させる方法。
ではコードを書き実装を行なっていきます。