调用GMB API的fetchMultiDailyMetricsTimeSeries接口时遇参数错误
解决GMB API fetchMultiDailyMetricsTimeSeries接口的TypeError错误
调用Google My Business(GMB)API的fetchMultiDailyMetricsTimeSeries接口获取WEBSITE_CLICKS、CALL_CLICKS等指标的每日时间序列数据时,触发如下错误:
TypeError: Got an unexpected keyword argument dailyRange
问题原因
这个接口的日期范围和指标参数不能直接作为顶层关键字参数传递,需要封装到请求体(body)中,并且参数命名遵循Python风格的下划线命名(daily_range),而非接口文档里的驼峰命名。
修正后的代码
重点修改接口调用部分,将指标和日期范围封装到body字典中,再通过body参数传递给接口:
# 定义需要获取的指标和日期范围 daily_metrics = ['WEBSITE_CLICKS', 'CALL_CLICKS'] start_date = {'year': 2023, 'month': 5, 'day': 1} end_date = {'year': 2023, 'month': 5, 'day': 30} # 构建请求体 body = { 'daily_metrics': daily_metrics, 'daily_range': { 'start_date': start_date, 'end_date': end_date } } # 正确调用接口 response = MyBusinessPerfo.locations().fetchMultiDailyMetricsTimeSeries( location='locations/178xxxxxx6358893987', body=body ).execute() print(response)
关键修改说明
- 将
dailyMetrics改为daily_metrics,dailyRange改为daily_range,符合Python客户端库的参数命名规范 - 所有请求参数(指标、日期范围)都要放入
body字典,通过body参数传递给接口,而不是直接作为顶层关键字参数
内容的提问来源于stack exchange,提问作者Abhay S
相关产品推荐
相关产品推荐

