2014-09-09 4 views
1

Я новичок в API SurveyMonkey, и было слишком сложно получить полезные обратные вызовы от вызовов API, но сейчас я пытаюсь вернуть ответы, которые дал конкретный ответчик.SurveyMonkey: Где текст ответа моего респондента?

У меня есть опрос, в котором есть два респондента, первый вопрос в опросе просит пользователя ввести три части информации: их имя, идентификатор и сегодняшнюю дату.

Итак, если я звоню в get_survey_details, я вижу вопросы просто отлично. Например

obj.pages[0].questions[0].answers[0].answerid: "xxxxxxxx" //some long ID 
obj.pages[0].questions[0].answers[0].text: "Enter Your Name" 
obj.pages[0].questions[0].answers[0].type: "row" 

Там есть пара больше частей информации в этом объекте, как виден ли вопрос, и т.д., но это, кажется, уместные части к вопросу у меня есть.

Итак! Я делаю еще один вызов get_responses, используя те же функции survey_id и responseent_id (есть только два, так что я получаю их оба).

В полученной полезной нагрузке я получаю массив из двух объектов (один для ответа каждого респондента). Поэтому я смотрю в первом (obj [0]), и я вижу массив вопросов и идентификатор респондента. Хорошо. Я смотрю в массиве вопросов, и я вижу один объект для каждого вопроса и в каждом из них отвечает объект.

так что:

obj[0].questions[0].answers[0].col: "yyyyyy" //some long ID 
obj[0].questions[0].answers[0].row: "nnnnnn" //some other long ID 

Нет текста ответа. просто этот бизнес в строке/col.

На данный момент я очень смущен (это похоже на обычную путаницу, но с мысом). Где, черт возьми, ответные ответы респондентов?

Что, черт возьми, означает «строка» и «столбец»? Должен ли я выполнять какой-либо другой вызов API с строкой и/или столбцом, чтобы получить текст ответа респондента?

Я просмотрел документацию (и продолжу это делать после публикации) и через stackoverflow, чтобы узнать, спрашивал ли кто-нибудь еще об этом раньше. Был один вопрос, который подошел вплотную, но на самом деле они просто забывали соединить «get_responses» с «get_survey_details». Я делаю это, но все равно теряюсь, как всегда. И я не вижу никакой документации, которая действительно подробно объясняет, как эта концепция строки/столбца работает для отображения ответов на текст ответа. :/

Я знаю, что это очень длинный вопрос, но я просто настолько смущен, что на самом деле получаю ответы из этого API. :(

Спасибо за чтение

ответ

2

Текст для данного ответа должен прийти через под ключ «текст», например, для обследования, которое состоит только из вопроса эссе стиль:..

{ 
    "status": 0, 
    "data": [ 
    { 
     "respondent_id": "123456", 
     "questions": [ 
     { 
      "answers": [ 
      { 
       "text": "This is an essay style answer.", 
       "row": "0" 
      } 
      ], 
      "question_id": "78910" 
     } 
     ] 
    } 
    ] 
} 

«row» и «col» буквально ссылаются на строку и столбец ответа - например, в матричном вопросе, будет список строк для разных вопросов («что вы думаете о гостинице?») и рейтинги («плохо , хорошо, отлично »), и каждый ответ является их комбинацией. Для регулярного вопроса с множественным выбором будет несколько строк и только один столбец.

Вызов «get_responses» с правильным answerent_id должен предоставить вам текстовый ответ, который вы хотите.Только исправил подробные сведения о ответе, хранящиеся в опросе, который вам нужно искать (предоставляется в get_survey_details).

+0

Мили, спасибо, что ответили. Это то, что я ожидал увидеть. Также, спасибо за пример строки/столбца. Это имеет смысл. –

+0

Видимо, я слишком долго редактировал свой комментарий ... bugger. В случае, если это может помочь кому-то, кто был смущен, как я: Вновь просмотрев данные, я вижу, где мое замешательство. Я думал, что ответы будут в том же порядке, что и вопросы. Итак, в моем случае вопросы были массивом длины 17. Я думал, что элемент массива 0 будет вопросом 1. На самом деле ответы на вопрос 1 не были перечислены до элемента массива 9! –

0

Использование GET:/survey/{survey_id}/details, мы можем получить соответствующие идентификаторы вопросов вместе с идентификаторами ответов.

{ 
    "pages": [ 
    { 
     "href": "https://api.surveymonkey.net/v3/surveys/87263608/pages/260492760", 
     "description": "", 
     "questions": [ 
     { 
      "sorting": null, 
      "family": "matrix", 
      "subtype": "rating", 
      "required": { 
      "text": "This question requires an answer.", 
      "amount": "0", 
      "type": "all" 
      }, 
      "answers": { 
      "rows": [ 
       { 
       "visible": true, 
       "text": "", 
       "position": 1, 
       "id": "10788526669" 
       } 
      ], 
      "choices": [ 
       { 
       "description": "Not at all likely", 
       "weight": -100, 
       "id": "10788526670", 
       "visible": true, 
       "is_na": false, 
       "text": "Not at all likely - 0", 
       "position": 1 
       }, 
       { 
       "description": "", 
       "weight": -100, 
       "id": "10788526671", 
       "visible": true, 
       "is_na": false, 
       "text": "1", 
       "position": 2 
       }, 
       { 
       "description": "", 
       "weight": -100, 
       "id": "10788526672", 
       "visible": true, 
       "is_na": false, 
       "text": "2", 
       "position": 3 
       }, 
       { 
       "description": "", 
       "weight": -100, 
       "id": "10788526673", 
       "visible": true, 
       "is_na": false, 
       "text": "3", 
       "position": 4 
       }, 
       { 
       "description": "", 
       "weight": -100, 
       "id": "10788526674", 
       "visible": true, 
       "is_na": false, 
       "text": "4", 
       "position": 5 
       }, 
       { 
       "description": "", 
       "weight": -100, 
       "id": "10788526675", 
       "visible": true, 
       "is_na": false, 
       "text": "5", 
       "position": 6 
       }, 
       { 
       "description": "", 
       "weight": -100, 
       "id": "10788526676", 
       "visible": true, 
       "is_na": false, 
       "text": "6", 
       "position": 7 
       }, 
       { 
       "description": "", 
       "weight": 0, 
       "id": "10788526677", 
       "visible": true, 
       "is_na": false, 
       "text": "7", 
       "position": 8 
       }, 
       { 
       "description": "", 
       "weight": 0, 
       "id": "10788526678", 
       "visible": true, 
       "is_na": false, 
       "text": "8", 
       "position": 9 
       }, 
       { 
       "description": "", 
       "weight": 100, 
       "id": "10788526679", 
       "visible": true, 
       "is_na": false, 
       "text": "9", 
       "position": 10 
       }, 
       { 
       "description": "Extremely likely", 
       "weight": 100, 
       "id": "10788526680", 
       "visible": true, 
       "is_na": false, 
       "text": "Extremely likely - 10", 
       "position": 11 
       } 
      ] 
      }, 
      "visible": true, 
      "href": "https://api.surveymonkey.net/v3/surveys/87263608/pages/260492760/questions/1044924866", 
      "headings": [ 
      { 
       "heading": "How likely is it that you would recommend XYZ to a friend or colleague?" 
      } 
      ], 
      "position": 1, 
      "validation": null, 
      "id": "1044924866", 
      "forced_ranking": false 
     }, 
     { 
      "sorting": null, 
      "family": "single_choice", 
      "subtype": "vertical", 
      "required": null, 
      "answers": { 
      "choices": [ 
       { 
       "visible": true, 
       "text": "High Interest", 
       "position": 1, 
       "id": "10788529403" 
       }, 
       { 
       "visible": true, 
       "text": "Long process", 
       "position": 2, 
       "id": "10788529404" 
       }, 
       { 
       "visible": true, 
       "text": "Low XYZ Amount", 
       "position": 3, 
       "id": "10788529405" 
       }, 
       { 
       "visible": true, 
       "text": "Lot of Documents", 
       "position": 4, 
       "id": "10788529406" 
       }, 
       { 
       "visible": true, 
       "text": "Bad customer service", 
       "position": 5, 
       "id": "10788529407" 
       } 
      ] 
      }, 
      "visible": true, 
      "href": "https://api.surveymonkey.net/v3/surveys/87263608/pages/260492760/questions/1044925207", 
      "headings": [ 
      { 
       "heading": "What is the most important issue which we need to address for overall a better service?" 
      } 
      ], 
      "position": 2, 
      "validation": null, 
      "id": "1044925207", 
      "forced_ranking": false 
     } 
     ], 
     "title": "", 
     "position": 1, 
     "id": "260492760", 
     "question_count": 2 
    } 
    ], 

} 

Мы можем использовать эти идентификаторы, чтобы расшифровать ответ мы получаем после выборки ответов с помощью ответа прибудет API (Bulk или каждый респондент).

Для например :,

Если мой опрос имеет два вопроса, как

enter image description here

Затем после извлечения ответов мы получаем JSON как это:

{ 
     "total_time": 34, 
     "href": "https://api.surveymonkey.net/v3/collectors/94630092/responses/5120000552", 
     "custom_variables": {}, 
     "ip_address": "182.76.20.30", 
     "id": "5120000552", 
     "logic_path": {}, 
     "date_modified": "2016-12-01T11:01:11+00:00", 
     "response_status": "completed", 
     "custom_value": "LAI100023", 
     "analyze_url": "http://www.surveymonkey.com/analyze/browse/EvaBWWcU9K1XTH_2FFFBTfFul4ge94MwVWvBk0eAFDJ3c_3D?respondent_id=5120000552", 
     "pages": [ 
     { 
      "id": "260492760", 
      "questions": [ 
      { 
       "id": "1044924866", 
       "answers": [ 
       { 
        "choice_id": "10788526677", 
        "row_id": "10788526669" 
       } 
       ] 
      }, 
      { 
       "id": "1044925207", 
       "answers": [ 
       { 
        "choice_id": "10788529404" 
       } 
       ] 
      } 
      ] 
     } 
     ], 
     "page_path": [], 
     "recipient_id": "2743199128", 
     "collector_id": "94630092", 
     "date_created": "2016-12-01T11:00:37+00:00", 
     "survey_id": "87263608", 
     "collection_mode": "default", 
     "edit_url": "http://www.surveymonkey.com/r/?sm=SfTljxZSoBFvaRUeGSI6L813qctjfG_2FDCVcqCks7CDc4TcJC_2BNHqmPYD7NNTcvST", 
     "metadata": { 
     "contact": { 
      "first_name": { 
      "type": "string", 
      "value": "John" 
      }, 
      "last_name": { 
      "type": "string", 
      "value": "Doe" 
      }, 
      "email": { 
      "type": "string", 
      "value": "[email protected]" 
      } 
     } 
     } 
    } 

Мы можем сопоставьте вопросы и ответы, используя их идентификаторы в этом ответе, с идентификаторами, которые мы получили из данных опроса. Для открытых текстовых вопросов мы получаем прямые ответы на типизированные ответы.