我正在尝试从parse.com云代码(node.js)创建一个Keen事件。我正在使用JS模块(https://github.com/roycef/keen-parse),似乎设置好了。为了测试,我设置了一个简单的测试,这里是完整的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();
当我获得/亲吻时:
所以,2个问题:
答案 0 :(得分:1)
看起来keen-parse正在为Keen使用旧的特定于节点的SDK。该SDK在很久以前就被弃用了,我相信自那时起API已经发生了一些重大变化。
您可能希望直接使用keen-js。设置起来非常简单,我认为你真的不会因为敏锐的解析而失去任何功能。
答案 1 :(得分:1)
尝试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();