未在 SurveyMonkey API 调用中获取调查信息

Not getting survey info in an SurveyMonkey API call

我正在尝试通过 API 获取有关 SurveyMonkey 调查的输入信息。但我收到以下 return 消息:"Could not validate access to survey at this time, please try again later.",状态为 5(系统错误)。

我正在使用处于草稿状态的应用程序。我的应用程序中的所有范围都是可选的。其他 api 调用(如 get_survey_list)确实给我数据。

我正在使用 php,但是 API 控制台 (https://developer.surveymonkey.com/docs/api_console/) 也给了我这些结果。

是否缺少额外的权限层?人们是否需要通过 oauth 批准某些内容?

API 控制台适用于 API 的 V2(已弃用,或可能很快就会弃用),我建议使用 V3 (https://developer.surveymonkey.com/api/v3)

您可以使用

获取调查列表
GET /v3/surveys

并且您可以通过

获得特定的调查
GET /v3/surveys/<id>

然后沿着路径获取个人 pages/questions,或者如果您希望一次展开整个调查,请使用:

GET /v3/surveys/<id>/details

关于您使用 API v2 执行的请求,如果您使用 [=25= 的空主体执行 POST,我可能需要更多信息] 遇到这个问题我可能会联系他们的客户支持来调查它,因为它看起来像是服务器错误。但我建议您转到 V3,看看是否一切正常。

就像一般的帖子一样,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。在文档站点上有一个按钮。很不错 :)