2017-12-06 21 views
0

Python 2.7でGoogleアナリティクスAPIをクエリしています。以下はコードの2つの例です。最初のものは動作しますが、私がしたいフィルタリングは含まれていません。 2番目のコードは機能しませんが、カスタムGAのディメンションの内容に基づいて結果をフィルタリングしようとしています。この場合、カスタムGAタグがページに含まれているかどうかです。PythonのGoogleアナリティクスAPIのカスタムディメンションによる正規表現のフィルタリング

これは私が働くGAのAPIを照会する方法ですが、私は必要なフィルタリング関与しない:だから

import datetime 
import time 
from datetime import timedelta 

# get start and end dates in correct format 
start_date = d1.strftime('%Y-%m-%d') 
end_date = d2.strftime('%Y-%m-%d') 

# Create ReportRequest object 
response = service.reports().batchGet(
    body={ 
     'reportRequests': [ 
      { 
       'viewId': 'ga:32981293', 

       'dateRanges': [{'startDate': start_date, 'endDate': end_date}], 

       'metrics': [{'expression': 'ga:sessions'}, 
          {'expression': 'ga:pageviews'}, 
          {'expression': 'ga:users'}, 
          {'expression': 'ga:exits'}, 
          {'expression': 'ga:avgSessionDuration'}, 
          {'expression': 'ga:avgTimeonPage'}, 
          {'expression': 'ga:sessionsPerUser'}, 
          {'expression': 'ga:percentNewSessions'}, 
          {'expression': 'ga:bounceRate'}], 

       'dimensions': [{"name": "ga:pagePath"}], 

       'orderBys': [{"fieldName": "ga:pageviews", "sortOrder": "DESCENDING"}], 

       'pageSize': 500 

      }] 
    } 
).execute() 

を、上記の可能性が私に私のページのパスをページビューに基づいてソートされているオブジェクトを提供します私が求めている関連するメトリックを取得しています。

私がやりたいことは、特定のタグを含むページパスに対してのみこの情報を取得できるようにフィルタを追加することです。このケースでは、「ニュースページタグ」というカスタムGAディメンションがあり、特定のニュースページタグを持つページパスの情報のみを取得したいと考えています。

ここでこれは1回の試行ですが動作しません。私は誰かが私を解決するのを助けることができる何らかの種類の構文問題があることを望んでいる。私は彼らのニュースページの一つとして「cur_tag」を持っているページのメトリックを取得するようにフィルタリングページのつもりで、二次元として:「newsPageTags GAを」

import datetime 
import time 
from datetime import timedelta 

# get start and end dates in correct format 
start_date = d1.strftime('%Y-%m-%d') 
end_date = d2.strftime('%Y-%m-%d') 

cur_tag = 'example string' 

# Create ReportRequest object 
response = service.reports().batchGet(
    body={ 
     'reportRequests': [ 
      { 
       'viewId': 'ga:32981293', 

       'dateRanges': [{'startDate': start_date, 'endDate': end_date}], 

       'metrics': [{'expression': 'ga:sessions'}, 
          {'expression': 'ga:pageviews'}, 
          {'expression': 'ga:users'}, 
          {'expression': 'ga:exits'}, 
          {'expression': 'ga:avgSessionDuration'}, 
          {'expression': 'ga:avgTimeonPage'}, 
          {'expression': 'ga:sessionsPerUser'}, 
          {'expression': 'ga:percentNewSessions'}, 
          {'expression': 'ga:bounceRate'}], 

       'dimensions': [{"name": "ga:pagePath"}, 
           {"name": "ga:newsPageTags"}], 

       'orderBys': [{"fieldName": "ga:pageviews", "sortOrder": "DESCENDING"}], 

       'dimensionFilterClauses': [ 
          {"filters": [{"dimensionName": "ga:newsPageTags", 
              "operator": "REGEXP", 
              "expressions": [cur_tag]}] 
          } 
             ], 

       'pageSize': 500 

      }] 
    } 
).execute() 

ので、上記では、私が追加しましたタグ。

トレースバック(最新の呼び出しの最後):「 ファイルでは、ライン31、「 ファイル」を構築/ bdist.macosx-10.7-フィルタを使用してコードの第二のチャンクは次のエラーを生成することを実行

x86_64/egg/oauth2client/_helpers.py "、133行目、locations_wrapper ファイル" build/bdist.macosx-10.7-x86_64/egg/googleapiclient/http.py "、行842、実行時 googleapiclient.errors.HttpError: https://analyticsreporting.googleapis.com/v4/reports:batchGet?alt=json returned "Unknown dimensions(s):ga:newsPageTags 詳細については、https://developers.google.com/analytics/devguides/reporting/core/dimsmetsをご覧ください。">

私のカスタムディメンションは正しく指定されていません。この問題を解決するのに役立つ優れたドキュメントが見つかりませんでしたが、カスタムタグに基づいてフィルタリングするGA APIをクエリする方法があることを願っています。

ありがとうございます!

答えて

関連する問題