我正在尝试使用带有 Node 服务器的 native 请求 promise 通过远程控制修改单个响应,到目前为止,所有 API 调用均已成功,不幸的是“update_response”尚未成功。 这就是我所拥有的:
var options = {
uri: "http://localhost/admin/remotecontrol",
method: "POST",
body: {
method:'update_response',
params:[sessionkey,surveyid,{ id: 5, token: "aValidToken", aValidColumnName: "a perfectly normal string" }],
id:1
},
json: true
};
request(options).then((body) => {
console.log(body.result);
}).catch((err) => {
res.send(err);
});
LimeSurvey API 文档不太清楚第三个参数应该具有什么结构( https://api.limesurvey.org/classes/remotecontrol_handle.html#method_update_response ),有趣的是,如果我只传递 { id: 5, token: "aValidToken"} 它确实有效(输出“true” "),虽然我得到了一个键值对:
Error: Invalid Column names supplied: aValidColumnName
有人成功过吗?
最佳答案
列名称是问题或子问题 ID - https://manual.limesurvey.org/SGQA_identifier/en
我认为第三个参数是问题/子问题 ID 和答案的数组。
{'123':'A1', '124':'A3', '128':'Some text input...'}
关于json - 如何通过 LimeSurvey 的远程控制 (JSON) 更新响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47710642/