我下载了surveygizmo软件包(1.2.1)并轻松调用了这样的surveygizmo API:
<EditText
android:inputType="numberDecimal"
android:digits="0123456789," />
导致类似这样的事情:
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)
如何访问以下页面?我只看到前50个结果,它们都在第一页上。
非常感谢!
答案 0 :(得分:1)
通过反复试验,我找到了这个解决方案:
surveys = client.api.survey.list(resultsperpage=500, page=5)
答案 1 :(得分:0)
我没有花时间设置对SurveyGizmo的访问权限。但是,通过导入Python外观并在其中找到文档,我发现了这种可能性。
client.config.requests_kwargs={'page':2}
我很想知道它是否有效。
答案 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)如果你想检查可用的参数,你可以查看代码:https://github.com/ITNG/SurveyGizmo/tree/master/surveygizmo/api
答案 3 :(得分:0)
每当我尝试每页提取40个或更多结果并提取特定页面时,API就会超时。那不疯狂吗?好像是效率极低的API。
survey_response = json.loads(client.api.surveyresponse.list(survey_id1, resultsperpage=30, page=1))
答案 4 :(得分:0)
对以上答案进行一些修改,以将所有答复保存在调查中,您可以执行以下操作:
client = SurveyGizmo(
api_version='v4',
# example token from SurveyGizmo docs
api_token="E4F796932C2743FEBF150B421BE15EB9",
api_token_secret="A9fGMkJ5pJF1k"
)
client.config.api_token = "your API token"
client.config.api_token_secret = "your API token secret"
survey_id = "your survey ID"
responses = client.api.surveyresponse.list(survey_id)
pages = responses['total_pages']
data = []
for page in range(1, pages):
print('Getting page {}/{}'.format(page, pages))
data.append(client.api.surveyresponse.list(id, page=page))
filename = 'data.json'.format(time)
with open(filename, 'w', encoding='utf-8') as f:
json.dump(data, f, ensure_ascii=False, indent=4)