我有一个Python脚本,每天都会尝试调用一次Google Analytics(分析)API,以获取数据。但是,在某些电话上,我显然什么也没收到。那或者我错误地处理了错误。这是我用来调用api的函数。
def run_query(hour_in_dim, start_date, sessions_writer, connection_error_count, pageToken=None):
# Try to run api request for one day. Wait 10 seconds if "service is currently unavailable."
try:
traffic_results = get_api_query(analytics, start_date, start_date, pageToken)
except HttpError as err:
if err.resp.status in [503]:
print("Sleeping, api service temporarily unavailable.")
time.sleep(10)
run_query(hour_in_dim, start_date, sessions_writer, connection_error_count, pageToken)
else:
raise
except ConnectionResetError:
connection_error_count += 1
time.sleep(10)
if connection_error_count > 2:
raise
else:
run_query(hour_in_dim, start_date, sessions_writer, connection_error_count, pageToken)
# TODO: solve random occurances of "UnboundLocalError: local variable 'traffic_results' referenced before assignment"
dimensions_ga = traffic_results['reports'][0]['columnHeader']['dimensions']
rows = traffic_results['reports'][0]['data']['rows']
Unbound Local Error来自底部的第二行,在此处我将点击量结果称为“流量结果”,并尝试将其分配给Dimensions_ga变量。 最佳答案
我相信问题是我在使用递归而不是循环。我使用了此处提供的示例代码:
https://developers.google.com/analytics/devguides/reporting/core/v3/errors
还将python 3的“HttpError,error:除外”更改为“HttpError异常为错误”。
由于无法手动重现错误,因此不确定测试此方法的最佳方法。
关于python - Google Analytics(分析)Python API调用导致UnboundLocalError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63361653/