googleカレンダーのイベントをgceventを使って取得する。
下記参考サイトのサービスアカウント作成手順で変更された部分があったため、その部分を中心としたメモ。
参考サイト
参考サイトとの相違点まとめ
- サービスアカウントの秘密鍵パスワード取得
- サービスアカウントの設定
サービスアカウントの秘密鍵パスワード取得
- gceventを利用するため、サービスアカウント作成のキーのタイプで[P12]を選択
サービスアカウントの設定
- サービスアカウントの作成後に編集で、[G Suite ドメイン全体の委任を有効にする]にチェックを入れる
- サービスアカウントの作成段階では表示されなかったため作成後に変更
GoogleカレンダーAPIアクセス確認
- 今回はgceventというgemを利用した
- gceventのgemをインストール
$ gem install gcevent
this_week.rb
require 'gcevent'
Google::Calendar.id = "[カレンダーID]"
Google::Calendar.secret_key.path = "[秘密鍵のファイルのパス]"
Google::Calendar.secret_key.password = "[秘密鍵のパスワード]"
Google::Calendar.client_secret_path = "[JSONファイルのパス]"
Google::Calendar.client_email = "[サービスアカウントID]"
events = Google::Calendar::Event.this_week
events.each do |event|
printf("%s,%s\n",event.start.date,event.summary)
end