node.js - Podio API addItem 调用

标签 node.js api podio

我正在尝试实现 https://developers.podio.com/doc/items/add-new-item-22362 Nodejs 模块中的 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"}

应用程序中只需要“标题”属性 - 我在 Podio GUI 中检查了这一点。我还尝试从我发布的网址中删除尾部斜杠,然后出现类似的错误,但在错误描述中显示 URL 未找到消息。

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

感谢任何帮助。

最佳答案

没关系,我找到了解决方案。问题是 addItem 调用是我的第一个“真正的”API 方法实现,其主体中包含 JSON 参数。前面的调用是authentication和getApp,后者是GET并且没有任何参数。

问题是 Podio 支持 POST 键值对进行身份验证,但并不支持所有调用,我试图对所有调用(包括身份验证和真实 API)使用单个 _makeRequest() 方法那些。

看起来我需要实现一个用于身份验证,一个用于所有 API 调用。

无论如何,如果有人需要在 Node 上调用 addItem 的有效概念证明,这里就是(假设您事先有一个身份验证 token )

_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);
});

关于node.js - Podio API addItem 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15157037/

相关文章:

javascript - 在 HTML 和 Node JS 之间发送数组字段

Javascript 显示来自 twitter api 的动画 gif

php - 在跑道中通过一个请求上传多个文件(建议)

ruby-on-rails-3 - 在 Rails 应用程序中验证 Podio 时出现 SSL 错误/类型错误

node.js - Sequelize.js - 保留具有关联的模型

node.js - 如何在运行 docker 容器时更新配置文件(.env 文件)

node.js - 我怎样才能在这个服务器上放置一个循环

Java:数组类型的javadocs

c# - 如何在 Windows 窗体 C# 中同时将两个文件发布到 API

objective-c - 我如何使用 PodioKit 和 PKTSearchAPI 在 Podio App 中进行搜索?