Здравствуйте, подскажите пожалуйста. Есть запрос с фильтром по metrics. Он работает и все отдает.
DIMENSIONS = ['ga:source','ga:medium']
METRICS = ['ga:users','ga:sessions','ga:adCost']
def initialize_analyticsreporting():
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):
return analytics.reports().batchGet(
body={
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '14daysAgo', 'endDate': 'today'}],
'metrics': [{'expression':i} for i in METRICS],
'dimensions': [{'name':j} for j in DIMENSIONS],
"metricFilterClauses": # Описание фильтра
[
{
"filters":
[
{
"metricName": "ga:adCost",
"operator": "GREATER_THAN", # Значение показателя должно быть больше comparisonValue.
"comparisonValue": "0"
}
]
}
]
}]
}
).execute()
Но когда я пытаюсь выставить фильтр, например, по ga:source
DIMENSIONS = ['ga:source']
METRICS = ['ga:users']
def initialize_analyticsreporting():
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):
return analytics.reports().batchGet(
body={
'reportRequests': [
{
'viewId': VIEW_ID,
'dateRanges': [{'startDate': '14daysAgo', 'endDate': 'today'}],
'metrics': [{'expression':i} for i in METRICS],
'dimensions': [{'name':j} for j in DIMENSIONS],
"metricFilterClauses": # Описание фильтра
[
{
"filters":
[
{
"dimensionName": "ga:source",
"operator": "EXACT",
"expressions": ["google"]
}
]
}
]
}]
}
).execute()
То выдает ошибку:
Invalid value at 'report_requests[0].metric_filter_clauses[0].filters[0].operator' (TYPE_ENUM), "EXACT"
Invalid JSON payload received. Unknown name "expressions" at 'report_requests[0].metric_filter_clauses[0].filters[0]': Cannot find field.">
Подскажите в чем может быть проблема. В итоге по любым показателям фильтр работает, по любым параметрам нет.