2

我已经设置了一个开发者帐户并按照文档中的描述使用“自定义应用程序”创建了一个访问令牌,并在控制台中提供了密钥、ID 和密码。

通过控制台发出的请求,例如get_survey_list工作正常。

但是,如果我尝试像 curl 这样的任何其他 http 客户端,我会得到:

{"status":3,"errmsg":"Expected object or value"}

卷曲代码是:

curl -H 'Authorization:bearer xxx' -H 'Content-Type: application/json' https://api.surveymonkey.net/v2/surveys/get_survey_list/?api_key=xxx --data-binary ''

我尝试过其他方法(httpclient,poster,在我的应用程序中)我总是得到这个结果。我的请求看起来与控制台输出中显示的请求数据完全相同。

唯一有效的请求是user/get_user_details.

有人可以帮忙吗?谢谢戈登

4

2 回答 2

1

您必须使用--data-binary标志请求某些数据字段。例如,如果我想:

"title","analysis_url","date_created","date_modified"

我的 curl 语句如下所示:

curl -H 'Authorization:bearer xxx' -H 'Content-Type: application/json' https://api.surveymonkey.net/v2/surveys/get_survey_list/?api_key=xxx --data-binary '{"fields":["title","analysis_url","date_created","date_modified"]}'

(请将 XXX 替换为您的身份验证参数)

在此处阅读更多详细信息- 该页面还包含 curl 语句的完整示例:

curl -H 'Authorization:bearer XXXYYYZZZ' -H 'Content-Type: application/json' https://api.surveymonkey.net/v2/surveys/get_survey_list/?api_key=your_api_key --data-binary '{"fields":["title","analysis_url","date_created","date_modified"], "start_date":"2013-02-02 00:00:00", "end_date":"2013-04-12 22:43:01", "order_asc":false, "title":"test3"}'
于 2014-05-28T10:59:03.230 回答
0

get_survey_details可以不带参数调用,但仍需要发布有效的 JSON 对象。正如 Miles 所说,一个简单的空 JSON 对象就足够了:{}

您收到的错误消息“预期对象或值”表明无法从 POST 数据中解码任何 JSON 对象。

于 2014-05-29T16:20:06.670 回答