我正在努力将2条腿的OAuth发布请求实现到我的NodeJS应用程序中。我正在尝试将信息发布到Schoology API(https://developers.schoology.com/),但似乎无法成功完成。我现在的代码:
function postCourse(){
r.post("https://api.schoology.com/v1/courses", null, null,"{'title': 'English Writing', 'course_code': 'E101', 'department': 'English','description': 'Essay Writing'}","application/json", function (err, data, res) {
console.log(res);
});
}
我不断收到400响应...错误的请求。我究竟做错了什么?我正在使用同一行代码来通过API GET
进行操作,并且可以正常工作。
如下所示,由于使用单引号而不是双引号引发了错误的请求。这是JSON问题,而不是OAuth问题。正确的JSON应该如下所示:
{\"title\": \"English Writing\", \"course_code\": \"E101\", \"department\": \"English\",\"description\": \"Essay Writing\"}
,使用反斜杠作为双引号的转义字符。
答案 0 :(得分:1)
HTTP状态码400表示“错误请求”-您的请求某种程度上是服务器格式错误或无法解析的。
我注意到您正在像这样传递JSON:
{'title': 'English Writing', 'course_code': 'E101', 'department': 'English', 'description': 'Essay Writing'}
但是,您不能在JSON中使用单引号。您必须使用双引号,例如:
{"title": "English Writing", "course_code": "E101", "department": "English", "description": "Essay Writing"}
如果您解决了该错误,并确保您的API请求遵循其API准则,则400错误请求错误将消失。