我已经设置了一个开发者帐户,并使用“自定义应用程序”创建了访问令牌,如文档中所述,并在控制台中提供密钥,ID和密码。
通过控制台发出的请求(例如get_survey_list
正常工作。
但是,如果我尝试任何其他像httpl这样的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,海报,在我的应用中)我总是得到这个结果。 我的请求看起来与控制台输出中显示的请求数据完全相同。
唯一有效的请求是user/get_user_details
。
有人可以帮忙吗? 谢谢戈登
答案 0 :(得分:1)
您必须使用--data-binary
标记请求某些数据字段。例如,如果我想:
"title","analysis_url","date_created","date_modified"
我的卷曲声明如下:
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)
阅读更多详情here - 该页面还包含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"}'
答案 1 :(得分:0)
get_survey_details
,但仍需要有效的JSON对象进行POST。正如Miles评论的那样,一个简单的空JSON对象就足够了:{}
您收到的错误消息“预期对象或值”表示无法从POST数据中解码JSON对象。