HTTP API 调用拒绝接受数据字段

HTTP API call refuses to accept a data field

我正在尝试使用 JavaScript (WinJS) 为 Windows 构建一个 Simplenote 客户端,并使用 HTTP Simperium API 进行连接。但是,我遇到了一个简单的连接问题。根据我在互联网上发现的内容和我之前的理解,我认为我没有以正确的格式传递数据,但我看不出哪里出错了。以下是我的代码:

function button1Click(mouseEvent) {
    var app_id = 'chalk-bump-f49';
    var formparams = "?username={email}&password={password}";

    WinJS.xhr({
        url: "https://auth.simperium.com/1/" + app_id + "/authorize/",
        type: "POST",
        headers: { "X-Simperium-API-Key": "{key}"},
        data: formparams
    }).then(function (result) {
        var data = result.responseText;
        console.log(data);
    }, function (error) {
        var er = error.responseText;
        console.log(er);
    }, function (progress) {
        var data = progress.responseText;
    });
}

JavaScript 控制台显示以下内容:{"field": "username", "message": "This field is required"}

我不明白为什么它说该字段是必需的,因为我已经为用户名填写了一个值。我也尝试将 data: formparams 更改为 data: {username: "email", password: "password"} 但收到相同的错误消息。

作为参考,我正在使用以下 API 文档:https://simperium.com/docs/reference/http/

不要在formparams中打问号
var formparams = "username={email}&password={password}";

在 ajax 调用中将数据作为数据参数传递时,像有效的 json 一样传递。

如下所示:

{"username": "test@test.com", "access_token": "84f27d20f93b414f8b7bc3441f87c9e1", "userid": "f5067cc81c9c26dcdca468f0cdf60508"}

如 API 文档中所述 here