2012-12-09 33 views
0

我想上傳一個圖片與框API和request module。我嘗試提供的curl示例沒有任何問題。Box API不規則標題

我有一個請求,當我到達頭部分這樣

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請求將工作?

回答

2

Authorization是HTTP頭的名稱(see also)。這可能會更好地工作:

headers: { 
    Authorization: "BoxAuth api_key=API_KEY&auth_token=AUTH_TOKEN" 
} 
+0

謝謝,這有點令人困惑。 – giodamelio

+1

我同意。它最初使我感到困惑,因爲授權類型(例如Basic,BoxAuth)是標題的獨立參數,但我誤認爲它是鍵/值對的鍵。 –