2013-12-24

rubyでGoogle Calendarをいじる

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
rubyでgoogleカレンダーをいじってみました。

コマンドラインからgoogleカレンダーをいじります。

google-api-clientを利用します。
なので
gem install google-api-client -v 0.6.4
gem install jwt -v 0.1.5
でインストールしておきます。
(※ここで記載している内容は0.6.4でないと動きません。またjwtも0.1.5より新しいのが入っていると動きません)

まずはGoogle Developers Consoleにプロジェクトを登録します。
登録したら「APIs & auth」の「APIs」で
Calendar API
を「ON」にします。

そして「APIs & auth」の「Credentials」でOAuth用のCLIENT IDを発行します。
「CREATE NEW CLIENT ID」でApplication typeを「Installed application」、Installed application typeを「Other」としてCLIENT IDを作成して、作成されたCLIENT IDとCLIENT SECRETを控えます。
(※ここいら辺も変更されていますが、似たような設定はできる感じです)

google-api-clientをインストールしたらgoogle-apiをいうコマンドが利用できるようになっているので、これを利用して一度OAuth認証を行います。
以下のような感じです。CLIENT_IDとCLIENT_SECRETは控えたもので置き換えてください。

google-api oauth-2-login --scope=https://www.googleapis.com/auth/calendar --client-id=CLIENT_ID --client-secret=CLIENT_SECRET

コマンドを実行するとwindows環境であればブラウザが開いてOAuthの許可を求められるので許可します。認証が完了するとホームディレクトリ(Windows7の場合は、C:\Users\mynameみたいなところの下)に.google-api.yamlが作成されるので、今回作成するプログラムを置く場所に移動しておきます。

このyamlファイルにOAuthでの認証情報が保存されているようなので、この情報を利用します。
でgoogleカレンダーをいじるrubyスクリプトは以下のような感じです。
カレンダー一覧から「仕事用」カレンダーを選び、今日から31日に以内のイベントをすべて削除して、イベントを二つ追加しています。


以下を参考にさせていただきました。
http://blogaomu.com/2012/09/16/ruby-script-using-google-calendar-api

コメントを投稿