跑道API addItem调用

我试图在nodejs模块中实现https://developers.podio.com/doc/items/add-new-item-22362 Podio API addItem调用。 这里是代码:

var _makeRequest = function(type, url, params, cb) { var headers = {}; if(_isAuthenticated) { headers.Authorization = 'OAuth2 ' + _access_token ; } console.log(url,params); _request({method: type, url: url, json: true, form: params, headers: headers},function (error, response, body) { if(!error && response.statusCode == 200) { cb.call(this,body); } else { console.log('Error occured while launching a request to Podio: ' + error + '; body: ' + JSON.stringify (body)); } }); } exports.addItem = function(app_id, field_values, cb) { _makeRequest('POST', _baseUrl + "/item/app/" + app_id + '/',{fields: {'title': 'fgdsfgdsf'}},function(response) { cb.call(this,response); }); 

它返回以下错误:

 {"error_propagate":false,"error_parameters":{},"error_detail":null,"error_description":"No matching operation could be found. No body was given.","error":"not_found"} 

在应用程序中只需要“title”属性 – 我在Podio GUI中检查过。 我也尝试从我发布的url去除尾部的斜杠,然后发生类似的错误,但是在错误描述中findURL未find的消息。

我要设置一个代理来捕获原始请求,但也许有人只是看到代码中的错误?

任何帮助表示赞赏。

没关系,我find了解决办法。 事情是,addItem调用是我的第一个“真正的”-API方法实现与身体的JSON参数。 前者是authentication,getApp是GET,没有任何参数。

问题是Podio支持POST键值对进行authentication,但是并不支持所有的调用,我试图对所有调用(auth和real-API)使用单一的_makeRequest()方法。

看起来像我需要实现一个身份validation和一个所有的API调用。

无论如何,如果有人需要在节点上进行addItem调用的概念的工作certificate,在这里(假设你已经有一个身份validation令牌事先)

 _request({method: 'POST', url: "https://api.podio.com/item/app/" + app_id + '/', headers: headers, body: JSON.stringify({fields: {'title': 'gdfgdsfgds'}})},function(error, response, body) { console.log(body); });