API Surveymonkey: проверьте, завершился ли опрос по определенному адресу электронной почты

У меня есть большое количество пользователей (более 400 тыс.), которым был отправлен опрос для заполнения. Как часть входа на мой сайт, я использую API SurveyMonkey, чтобы проверить, завершили ли они назначенный им опрос. Я набираю адрес электронной почты. Я думаю использовать: https://developer.surveymonkey.com/mashery/get_respondent_list

однако я не хочу просматривать все 400 тысяч пользователей, чтобы найти конкретное электронное письмо - в любом случае, чтобы сделать этот поиск более эффективным?

Использование бэкенда django для проверки связи с API SurveyMonkey


person user257543    schedule 04.06.2014    source источник


Ответы (1)


get_respondent_list позволяет искать респондентов по измененному диапазону даты/времени. Для 400 000 респондентов вы должны хранить результаты в локальной базе данных и запрашивать API только тогда, когда адрес электронной почты, который вы ищете, не найден локально.

Чтобы избежать необходимости анализировать весь список каждый раз, вы должны получать новых респондентов только с момента последней проверки с использованием этой функции диапазона даты/времени и добавлять новых респондентов в свою БД. Ниже приведен пример кода, который иллюстрирует опрос новых респондентов на основе диапазона даты/времени на общедоступном сайте GitHub SurveyMonkey:

https://github.com/SurveyMonkey/python_guides/blob/master/guides/polling.py

person Tony Mayse    schedule 04.06.2014
comment
Спасибо, но я не уверен, что это решит мою проблему. Все 400 тысяч опросов рассылаются примерно в одно и то же время. Проверка того, завершил ли конкретный пользователь опрос, должна выполняться каждый раз, когда любой пользователь входит в систему. Даже при периодическом опросе и копировании в базу данных нет быстрого способа избежать поиска по всем записям, чтобы получить самый последний ответ на завершил ли пользователь, пытающийся в данный момент войти в систему, опрос. - person user257543; 05.06.2014
comment
Этот запрос будет возвращать только недавно обновленные ответы. Если пользователь не ответил на опрос в прошлый раз и не отображается в списке обновленных респондентов, он все еще не ответил на опрос. - person Tony Mayse; 01.07.2014