GoogleAPI+C#でGoogleAnalytics情報を取得するまでの解説

C#からGoogleAnalyticsの情報にアクセスしたいと思って手順を調べて実行してみましたが、えらい長く手間がかかったのでGoogleAPIプロジェクトを作成するという初歩の初歩から覚書として残しておきます。

GoogleAPIプロジェクトを作成する

まずこれをやらなければ始まりません。

https://console.developers.google.com/

このページにアクセスします。

このような画面になるので、まずは右上のプロジェクトの作成をします。

以下のようにプロジェクト名を適当に入れます。

プロジェクトIDが自動的に生成されますので、この部分は知られないようにしましょう。

App Engineの場所はus-centralでいいと思います。

作成すると次のような画面になり、右上にプロジェクト名があるのを確認します。

左側にある認証情報を押します。

認証情報を作成を押し、その中のサービスアカウントキーを押します。

サービスアカウントの部分は「新しいサービスアカウント」を選択します。

するとサービスアカウント名を入力するよう求められるので、ここではGoogleAnalyticsと入力しました。

サービスアカウントIDは自動的に表示されます。手動で変更することも可能です。

重要なのはキーのタイプをデフォルトのJSONではなくP12にすることです。

作成を押すと自動で.p12ファイルのダウンロードが始まるのでローカルに保存してください。

同時に上記のように秘密鍵のパスワードが表示されます。これは万人共通なようなので、あえて隠していません。一応メモっておきます。

閉じるを押すと自動的に以下の画面に行きます。

ここでは伏せていますがサービスアカウントキーのIDが表示されます。

GoogleAnalyticsAPIをオンにする

そしたらここでやっとGoogleAnalyticsAPIをオンにします。

先ほどの画面の左上にあるAPI Managerの部分をクリックします。

右下にAnalytics APIがあるのでそこへ行きます。

ここで有効にするを押せばひとまず完了です。

GoogleAnalyticsと紐付ける

次は先程のサイトとは別に、普段使っているGoogleAnalyticsのサイトへいつもどおりログインします。

https://analytics.google.com/analytics/web/

ログインしたらアナリティクス設定を押して、設定したいアカウント、プロパティを選択します。複数サイトがある場合はすべてに対して以下の同じ作業を繰り返します。

下の画像の右下にあるユーザー管理を押します。

そしてここで、さきほど作成したサービスアカウントの「サービスアカウントID」を入力します。このサービスアカウントIDは最後がgserviceaccount.comで終わっているはずです。

すでに登録されているメールアドレスはGoogleアカウントのメールアドレスのはずです。それではなくて、先ほど作成したサービスアカウントのメールアドレスを新たに入力します。

その際に、図の右下のように各種権限すべてにチェックします。

これでGoogleアカウント側の設定は終わりなので、あとはC#プログラムの記述に移ります。

(追記)