2015-06-08

OAuth認証による Excel VBA Google Analytics APIアクセス ③

前回記事



Google Analytics レポートデータ取得APIアクセスルーチンの作成


前回作成したライブラリでAPIアクセスの為のアクセストークン取得処理は出来上がっているのであとは簡単です。



ポイントとしてこのアクセストークンは有効期限が3600秒=60分ということですので、その時間内に終わる処理とする必要があります。
もし重い処理で有効期限を超過する処理を作成する場合はトークンのリフレッシュ処理を実装する必要がありますが、今回は重い処理ではないので割愛します。

今回は指定期間内のオーガニック検索キーワードを指定されたセッションの多い順にとることとします。
なお、レスポンスはjson形式データとなりますので通常の言語系では標準でパース関数が用意されていると思うのでそれを利用しますが、Excel VBAにはありません。vba-jsonというパース用ライブラリが公開されていますが、今回のjsonはちょっと階層が深いので処理速度的に不利だったので利用は見送りました。自分でカンマ分解したほうがよほど効率がよさそうです。

まとめ


OAuth認証となったことで、APIアクセスの前準備が煩雑となりましたが、一度作ってしまえば流用できますし、認証方式が変わった以外は今までとほとんど同様のインターフェースでアクセスすることができました。

前回も少し記載しておりますが、IEオブジェクトを操作しての認証自動化もできますが、折角OAuth認証にしているのにこれではセキュリティ的によろしくありませんね。

次回は、OAuthのサービスアカウントを払い出してバッチプログラムとして実装したいと思います。