はじめてのアナリティクス Reporting API v4: サービス アカウント向け Python クイックスタート

このチュートリアルでは、アナリティクス Reporting API v4 にアクセスする手順を詳しく説明します。

1. API を有効にする

アナリティクス Reporting API v4 を使用するには、まずセットアップ ツールの手順に従い、Google API Console でプロジェクトを作成して API を有効にし、認証情報を作成する必要があります。

認証情報を作成

  1. [サービス アカウント] ページを開きます。画面のメッセージに従って、プロジェクトを選択します。
  2. [サービス アカウントを作成] をクリックします。
  3. [サービス アカウントの作成] ウィンドウで、サービス アカウントの名前を入力し、[新しい秘密鍵の提供] を選択します。その後、[作成] をクリックします。

新しい公開鍵と秘密鍵のペアが生成され、お使いのコンピュータにダウンロードされます。このキーは再発行できませんので、大切に保管してください。

Google アナリティクス アカウントにサービス アカウントを追加

新規作成したサービス アカウントのメールアドレスは、次のようになります。

quickstart@PROJECT-ID.iam.gserviceaccount.com

このメールアドレスを使用し、API 経由でアクセスする Google アナリティクスのビューにユーザーを追加します。このチュートリアルで必要なのは、表示と分析権限のみです。

2. クライアント ライブラリをインストールする

パッケージ マネージャーを使用するか、Python クライアント ライブラリを手動でダウンロードしてインストールできます。

pip

Python パッケージのインストールには、推奨ツールの pip を使用します。

sudo pip install --upgrade google-api-python-client

setuptools

setuptools パッケージに含まれる easy_install ツールを使用します。

sudo easy_install --upgrade google-api-python-client

手動インストール

最新の Google API Python クライアント ライブラリをダウンロードし、コードを解凍して実行します。

sudo python setup.py install

3. サンプルをセットアップする

HelloAnalytics.py という名前のファイルを 1 つ作成する必要があります。このファイルには指定のサンプルコードを記述します。

  1. 次のソースコードを HelloAnalytics.py にコピーまたはダウンロードします。
  2. 前にダウンロードした client_secrets.json をサンプルコードと同じディレクトリに移動します。
  3. SERVICE_ACCOUNT_EMAIL および KEY_FILE_LOCATION の値を Developers Console に表示された適切な値に置き換えます。
  4. VIEW_ID の値を置き換えます。View ID は Account Explorer で確認できます。
"""Hello Analytics Reporting API V4."""

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

SCOPES = ['https://www.googleapis.com/auth/analytics.readonly']
KEY_FILE_LOCATION = '<REPLACE_WITH_JSON_FILE>'
VIEW_ID = '<REPLACE_WITH_VIEW_ID>'

def initialize_analyticsreporting():
  """Initializes an Analytics Reporting API V4 service object.

  Returns:
    An authorized Analytics Reporting API V4 service object.
  """
  credentials = ServiceAccountCredentials.from_json_keyfile_name(
      KEY_FILE_LOCATION, SCOPES)

  # Build the service object.
  analytics = build('analyticsreporting', 'v4', credentials=credentials)

  return analytics

def get_report(analytics):
  """Queries the Analytics Reporting API V4.

  Args:
    analytics: An authorized Analytics Reporting API V4 service object.
  Returns:
    The Analytics Reporting API V4 response.
  """
  return analytics.reports().batchGet(
      body={
        'reportRequests': [
        {
          'viewId': VIEW_ID,
          'dateRanges': [{'startDate': '7daysAgo', 'endDate': 'today'}],
          'metrics': [{'expression': 'ga:sessions'}],
          'dimensions': [{'name': 'ga:country'}]
        }]
      }
  ).execute()

def print_response(response):
  """Parses and prints the Analytics Reporting API V4 response.

  Args:
    response: An Analytics Reporting API V4 response.
  """
  for report in response.get('reports', []):
    columnHeader = report.get('columnHeader', {})
    dimensionHeaders = columnHeader.get('dimensions', [])
    metricHeaders = columnHeader.get('metricHeader', {}).get('metricHeaderEntries', [])

    for row in report.get('data', {}).get('rows', []):
      dimensions = row.get('dimensions', [])
      dateRangeValues = row.get('metrics', [])

      for header, dimension in zip(dimensionHeaders, dimensions):
        print header + ': ' + dimension

      for i, values in enumerate(dateRangeValues):
        print 'Date range: ' + str(i)
        for metricHeader, value in zip(metricHeaders, values.get('values')):
          print metricHeader.get('name') + ': ' + value

def main():
  analytics = initialize_analyticsreporting()
  response = get_report(analytics)
  print_response(response)

if __name__ == '__main__':
  main()

4. サンプルを実行する

次のコマンドを使用してサンプルを実行します。

python HelloAnalytics.py

以上の手順が完了すると、サンプルコードによって、指定されたビューの過去 7 日間のセッション数が出力されます。

トラブルシューティング

AttributeError: 「Module_six_moves_urllib_parse」オブジェクトに「urlparse」属性がありません。

Mac OSX でデフォルト インストールの "six" モジュール(このライブラリに依存)が、pip がインストールするモジュールよりも先に読み込まれた場合に、このエラーが発生します。この問題を修正するには、以下の手順で PYTHONPATH システム環境変数に pip のインストール先を追加します。

  • 次のコマンドで pip のインストール先を確認します。

    pip show six | grep "Location:" | cut -d " " -f2

  • ~/.bashrc ファイルに以下の行を追加します。 &lt;pip_install_path&gt; は、上記のコマンドで確認した値に置き換えます。

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>

  • 開いているターミナル ウィンドウで、次のコマンドを使って ~/.bashrc ファイルを 再度読み込みます。

    source ~/.bashrc