【问题标题】:What is wrong with my JSON in this Oauth Request?这个 Oauth 请求中我的 JSON 有什么问题?
【发布时间】:2019-01-21 17:01:10
【问题描述】:

我正在努力在我的 NodeJS 应用程序中实现 2 条腿 OAuth 发布请求。我正在尝试将信息发布到 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\"},使用反斜杠作为双引号的转义字符。

【问题讨论】:

    标签: javascript json node.js rest


    【解决方案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 Bad Request 错误应该会消失。

    【讨论】:

    • 你是对的......我只是个白痴哈哈。我最近一直在处理 REST API 和 JSON,我不敢相信我犯了这个错误……谢谢!它有效。
    猜你喜欢
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多