如何使用python surveygizmo包调用surveygizmo API到特定页面?

问题描述 投票:0回答:4

我下载了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个结果,这些结果都在第一页上。

非常感谢!

python survey
4个回答
1
投票

通过反复试验,我找到了这个解决方案:

surveys = client.api.survey.list(resultsperpage=500, page=5)

0
投票

我没有花时间设置对SurveyGizmo的访问权限。但是,通过导入Python外观并围绕它和文档我发现了这种可能性。

client.config.requests_kwargs={'page':2}

我很想知道它是否有效。


0
投票

一般来说,安妮建议我认为最好的方式,但我不能投票,因为一个新手:)

我只能补充一点,你可以将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


0
投票

每当我尝试每页提取40个或更多结果并拉出特定页面时,API就会超时。这不是疯了吗?看起来像一个非常低效的API。

https://github.com/ITNG/SurveyGizmo/tree/master/surveygizmo/api
© www.soinside.com 2019 - 2024. All rights reserved.