我下载了surveygizmo软件包(1.2.1)并轻松调用了surveygizmo API,如下所示:
import surveygizmo as sg
client = sg.SurveyGizmo(
api_version='v4',
# example
api_token = "E4F796932C2743FEBF150B421BE15EB9",
api_token_secret = "A9fGMkJ5pJF1k"
)
surveys = client.api.survey.list()
print(surveys)
结果是这样的:
{'total_count': '8902',
'total_pages': 179,
'page': 1, # This is what I want to change
'results_per_page': 50,
'data': [
{'id': '7895426',
'team': '123456',
'_subtype': 'Standard Survey',
... },
{'id': '7895427',
'team': '123456',
'_subtype': 'Standard Survey',
... },
...]}
如何访问以下页面?我只看到前50个结果,这些结果都在第一页上。
非常感谢!
通过反复试验,我找到了这个解决方案:
surveys = client.api.survey.list(resultsperpage=500, page=5)
我没有花时间设置对SurveyGizmo的访问权限。但是,通过导入Python外观并围绕它和文档我发现了这种可能性。
client.config.requests_kwargs={'page':2}
我很想知道它是否有效。
一般来说,安妮建议我认为最好的方式,但我不能投票,因为一个新手:)
我只能补充一点,你可以将total_pages作为一个变量并在循环中使用它。
total_pages = json.loads(sg.api.survey.list())['total_pages']
for numbe_page in range(1,total_pages):
survey_list = json.loads(sg.api.survey.list(resultsperpage=500, page=number_page))
还有一些额外的观点
1)我发现了一个site with info about the parameters,帮助我找出与sg一起使用的参数。
2)如果你想检查可用的参数,你可以查看代码:qazxsw poi
每当我尝试每页提取40个或更多结果并拉出特定页面时,API就会超时。这不是疯了吗?看起来像一个非常低效的API。
https://github.com/ITNG/SurveyGizmo/tree/master/surveygizmo/api