0

我正在尝试使用 box API 和request module. 我尝试了提供的 curl 示例,没有任何问题。

我有一个要求像这样的所有设置

var request = require("request");
var fs = require("fs");
var path = require("path");

request({
    url: "https://api.box.com/2.0/files/content",
    method: "POST",
    form: {
        filename: fs.createReadStream(path.join(__dirname, "midguts.jpg")),
        folder_id: "0"
    },
    headers: {
        api_key: "<API_KEY>",
        auth_token: "<AUTH_TOKEN>"
    }
}, function (error, response, body) {
    console.log(error);
    console.log(body);
});

当我到达标题部分时,问题就出现了。box API对标头字符串的调用

"Authorization: BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN"

但是我使用请求模块只能发送键值对的对象。我还查看了节点的文档http.request,发现它有同样的问题。

所以问题是,为什么 API 不遵循标准密钥对格式,我怎样才能发送有效的 POST 请求?

4

1 回答 1

2

Authorization是 HTTP 标头的名称(另请参阅)。这可能会更好:

headers: {
    Authorization: "BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN"
}
于 2012-12-09T16:19:22.977 回答