新規事業開発の実務

どうせすぐ忘れるんでしょ\(^o^)/

Google Home を G-Suite のカレンダーと連携させる方法

 

お世話になっております。
カーマンライン株式会社の直人です。

 Google Home と G-Suite のカレンダーの連携でハマったので解決方法をメモ。

Google Home は G-Suite のカレンダーにアクセスできない

※2018/10/05 時点

まさかと思いましたが、本当でした。 

f:id:naoto111:20181005120631p:plain

カレンダーと予定を確認する - Google Home ヘルプ

 

解決方法

海外のエンジニアが GAS で G-Suite の予定をエクスポートし、個人のカレンダーにインポートするスクリプトを実装してくれていたのでそれを使うことでなんとか連携できるようになりました。

以下に書いてあることが全てなので、英語読める人は直接見てください。

用意するもの

  • 個人用の (G-Suiteではない) Google カレンダー
  • G Suite のアカウントで作った Google カレンダー
  • G Suite のアカウントで作った Google Spreadsheet

手順

  1. 個人用のGoogleカレンダーを、G Suite アカウントに共有する。

    f:id:naoto111:20181005144950p:plain


    その際、「予定の変更権限」以上の権限を付与。

  2. Github の code.gs  のコードをコピーする。 
    リンク : GitHub - Sync your G Suite Calendar to your personal Google account so you can access events via Google Home
  3. G-Suite アカウントで 新しい Google Apps Script プロジェクトを作成し、上記でコピーしたスクリプトを貼り付ける。

  4. G-Suite アカウントで空のスプレッドシートを作る。

  5. コード中の値を自分の環境に併せて変更
    6行目 : var companyName = "<Your G Suite Company Name>"
    13行目 : var personalGoogleAccountID = "<your.name>@gmail.com"
    37行目 : var sheetID = "<your_spreadsheet_id>"
    ※ 予め G-Suite 側で空のスプレッドシートを作っておく
    ※ <your_spreadsheet_id> がわからない方は 【GAS】GoogleスプレッドシートIDの見方 参照

  6. 手動で実行する。
    セキュリティの警告が出る場合があるので適切に対処 (気になる場合は諦める)。
    プロジェクト (アプリ) にカレンダーなどのアクセス権限を付与するダイアログがでるので確認の上、付与する。

  7. 定期的に自動実行できるよう、トリガーを設定

    f:id:naoto111:20181005150333p:plain

  8. 実行結果を確認する。
    スプレッドシートに予定が書き出されており、それが個人のカレンダーに登録されていたら成功。

 

公式な方法ではないけど、これで一応 G-Suite のカレンダーを Google Home で確認できるようになる。

 

早く公式対応されないかなー。