Всем привет! Сегодня публикуем статью от разработчика Андрея, в которой он рассматривает, как пошагово настроить REST API подключение к SurveyMokey в Qlik Sense.
SurveyMonkey — популярный сервис для проведения опросов. На одном из проектов нам нужно было извлечь и проанализировать в Qlik Sense 5 миллионов строк опросов. Если у вас тоже есть такой источник данных, я сэкономлю вам день на то, чтобы разобраться с особенностями настройки REST подключения к API SurveyMonkey.
SurveyMonkey Коннектор vs. REST API SurveyMonkey
Qlik разработали специальный SurveyMonkey коннектор, который всю настройку REST-подключения делает за вас. Вот ссылка на более подробное описание самого коннектора: https://www.surveymonkeysv.surveymonkey.com/apps/7PF6v7iygyF7gbRk_2BCEZ7A_3D_3D/details/
Но там есть один, но большой «подводный камень». В SurveyMonkey существует такое понятие, как ветвящиеся вопросы. Это когда следующий вопрос зависит от предыдущего. И вот если у вас в опросах есть такая логика, вариант с SurveyMonkey Коннектором вам не подходит и нужно подключаться через REST API SurveyMonkey.
Про подключение через SurveyMonkey Коннектор даже писать нечего – там все довольно просто, а вот с REST подключением, как и всегда, есть свои тонкости. О них я дальше и буду рассказывать. Сразу предупрежу – в SurveyMonkey есть лимит в 500 запросов в день через API (это бесплатно, за деньги можно больше). А на проекте нам надо было выгрузить 5 миллионов строк, не более тысячи строк в одном запросе. Мы написали в поддержку SurveyMonkey письмо с просьбой расширить лимит запросов на небольшой срок, и в итоге они согласились расширить лимит до 4000 тысяч запросов в день на 2 недели! Супер!
Итак, для настройки REST подключения к API SurveyMonkey нам необходимо:
- Создать приложение в SurveyMonkey и настроить разрешения на чтение
- Получить постоянный токен доступа к API SM (потребуется утилита c URL)
- Настроить REST-подключение в Qlik Sense
Создаем приложение SurveyMonkey и даем необходимые разрешения
Перейдем по ссылке https://developer.surveymonkey.com/apps/ и нажмем на кнопку «Add a New App»:
Вводим название приложения (любое) и выбираем «Private App»:
После этого заходим в раздел «Settings» и настраиваем разрешения:
Нажимаем на «Upgrade Scopes». Первый шаг готов, идем дальше!
Получаем постоянный токен доступа к API SurveyMonkey
Возвращаемся в настройки приложения и видим следующую картину:
Для получения постоянного OAuth-токена нам потребуются следующие данные (описания параметров взял отсюда):
- OAuth Redirect URL — это URL, на который сервис будет перенаправлять пользователя после авторизации (или отказа в авторизации) вашего приложения
- Client ID — представляет собой публично доступную строку, которая используется API сервиса для идентификации приложения, а также используется для создания авторизационных URL для пользователей
- Secret — используется для аутентификации подлинности приложения для API сервиса, когда приложение запрашивает доступ к аккаунту пользователя. Секрет клиента должен быть известен только приложению и API
- Access Token — на данном этапе бесполезен (почему?— не знаю…), потребуется получать его самостоятельно, для этого нам и потребуется утилита cURL
Далее нам надо получить временный токен. Для этого переходим по ссылке:
Где вместо YOUR_REDIRECT_URI и YOUR_CLIENT_ID подставляем свои значения.
В результате в адресной строке мы получим в URL-ссылку типа:
где AUTH_CODE— временный код доступа к API SurveyMonkey, работающий всего несколько минут.
Далее, устанавливаем cURL (скачать его можно по ссылке: https://curl.haxx.se/download.html), заходим в командную строку и пишем команду вида:
1 |
curl -i -X POST https://api.surveymonkey.com/oauth/token -d \ <br> "client_secret=YOUR_CLIENT_SECRET \<br> &code=AUTH_CODE \ <br> &redirect_uri=YOUR_REDIRECT_URI \ <br> &client_id=YOUR_CLIENT_ID \ <br> &grant_type=authorization_code" |
где
- YOUR_CLIENT_SECRET – ваш Secret,
- AUTH_CODE – ваш временный код доступа к API SM,
- YOUR_REDIRECT_URI – ваш OAuth Redirect URL
- YOUR_CLIENT_ID – ваш Client ID
После выполнения команды Вы получите постоянный токен доступа к API SurveyMonkey, в командной строке это выглядит следующим образом:
Запишите его, ну или запомните, если у вас хорошая память 😀
Настраиваем REST-подключение в Qlik Sense
Хочу вас обрадовать, это последний шаг в настройке REST-подключения.
Заходим в редактор скрипта Qlik Sense и создаем новое подключение:
Выбираем REST и настраиваем как на картинках ниже:
Тестируем подключение и делаем пробную выборку:
На сегодня это все! Спасибо за внимание, надеюсь статья окажется кому-то полезной 🙂
Автор: Андрей Белобородов
Свежие комментарии