Не удается получить информацию об опросе при вызове API SurveyMonkey

Я пытаюсь получить введенную информацию по опросу SurveyMonkey через API. Но я получаю следующее ответное сообщение: «Не удалось подтвердить доступ к опросу в данный момент, повторите попытку позже» со статусом 5 (системная ошибка).

Я работаю с приложением в статусе черновика. Все области в моем приложении являются необязательными. И другие вызовы API (например, get_survey_list) действительно дают мне данные.

Я работаю с php, но консоль API (https://developer.surveymonkey.com/docs/api_console/) также дает мне эти результаты.

Есть ли дополнительный уровень разрешений, который мне не хватает? Нужно ли людям одобрять что-то через oauth?


person jivanrij    schedule 19.08.2016    source источник
comment
Для всех, кто заинтересован. Я начал проект GIT для PHP Survey Monkey API v3 на Github. github.com/lyfter/SurveyMonkey_API_v3   -  person jivanrij    schedule 22.08.2016


Ответы (2)


Консоль API предназначена для версии 2 API (которая либо устарела, либо скоро будет прекращена), я бы рекомендовал использовать версию 3 (https://developer.surveymonkey.com/api/v3)

Вы можете получить список опросов, используя

GET /v3/surveys

И вы можете получить конкретный опрос с помощью

GET /v3/surveys/<id>

И следуйте по пути, чтобы получить отдельные страницы/вопросы, или, если вы хотите развернуть весь опрос сразу, используйте:

GET /v3/surveys/<id>/details

Что касается запроса, который вы делаете с API v2, мне, вероятно, понадобится немного больше информации, если вы выполняете POST с пустым телом для get_survey_list и получаете эту проблему, я бы, вероятно, связался с их службой поддержки, чтобы изучить это похоже на ошибку сервера. Но я бы порекомендовал перейти на V3 и посмотреть, все ли у вас работает нормально.

person General Kandalaft    schedule 19.08.2016
comment
Спасибо, v3 работает нормально :) к сожалению, для него нет PHP-библиотеки. Поэтому я опубликую код, который я использовал для использования другими разработчиками. - person jivanrij; 22.08.2016

Как и в общем, v3 работает нормально. Вот код моего POC, который работает:

// GET USER
$requestHeaders = array(
    'Content-Type: application/json',
    'Authorization: Bearer [ACCESS_TOKEN]',
);

$url = 'https://api.surveymonkey.net/v3/users/me?api_key=[API_KEY]';

$ch  = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
$result = curl_exec($ch);
curl_close($ch);

Вышеупомянутый простой вызов для получения основной информации о пользователе.

Следующий вызов получает ответы, данные в ответах, которые даются через определенный сборщик.

// GET THE ANSWERS OF THE SURVEY
$requestHeaders = array(
    'Content-Type: application/json',
    'Authorization: Bearer [ACCESS_TOKEN]',
);

$url = 'https://api.surveymonkey.net/v3/collectors/[COLLECTOR_ID]/responses/bulk?api_key=[API_KEY]';

$ch  = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $requestHeaders);
$result = curl_exec($ch);
curl_close($ch);

Вы также можете импортировать API в Postman. Для этого есть кнопка на сайте документации. Довольно мило :)

person jivanrij    schedule 22.08.2016