当事件创buildOK时,Keen.io JS api响应{“code”:“UnknownError”}

我试图从parse.com云代码(node.js)创build一个Keen事件。 我正在使用一个JS模块( https://github.com/roycef/keen-parse )似乎设置好。 为了testing,我build立了一个简单的testing,下面是完整的main.js(证书已删除):

var express = require('express'); var app = express(); // Global app configuration section app.use(express.bodyParser()); var Keen = require('cloud/keen.js'); var keen = Keen.configure({ projectId: "xxxxxxxx", writeKey: "xxxxxxxx" }); app.get('/kiss', function (req, res) { var resp = {}; var respCode = 404; var testObj = {"firstname": "John", "surname": "Doe"}; // send single event to Keen IO keen.addEvent("Testola", testObj, function (err, res) { if (err) { resp = err; respCode = 500; } else { resp = res.data; respCode = 200; } }).then(function () { // send something back to the app res.setHeader('Content-Type', 'application/json'); res.send(resp, respCode); }); }); app.listen(); 

当我GET /吻:

  • logging存储在Keen.io的相关集合中(耶 – 我可以在Expolorer中看到它!)
  • 收到的响应(err)是{“code”:“UnknownError”}

所以,2个问题:

  1. 为什么在事件似乎在keen.io上正确logging时发送错误响应?
  2. 我能做些什么来获得上述的工作?

看起来像敏锐的parsing是使用旧的节点特定的Keen的SDK。 那个SDK在一段时间以前就被弃用了,我相信从那以后API已经发生了一些突破性的变化。

您可能希望直接使用keen-js 。 设置起来非常简单,我不认为你真的从敏锐的语法分析中失去任何function。

给keen-tracking.js一个尝试。 这是一个新的跟踪SDK,是一个全面的替代keen-js的完整版本。 这里有一个快速重写你的示例代码/新SDK的地方:

 var express = require('express'); var app = express(); // Global app configuration section app.use(express.bodyParser()); var Keen = require('keen-tracking'); var keen = new Keen({ projectId: "xxxxxxxx", writeKey: "xxxxxxxx" }); app.get('/kiss', function (req, res) { var resp = {}; var respCode = 404; var testObj = {"firstname": "John", "surname": "Doe"}; // send single event to Keen IO keen.recordEvent("Testola", testObj, function (err, res) { res.setHeader('Content-Type', 'application/json'); if (err) { res.send(err, 500); } else { res.send(res, 200); } }); }); app.listen();