1

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();

/kiss を取得すると:

  • レコードは Keen.io の関連するコレクションに保存されます (イェーイ - エクスプローラーで確認できます!)。
  • 受信した応答 (エラー) は {"code": "UnknownError"} です

だから、2つの質問:

  1. イベントが ken.io で正しく記録されているように見えるのに、エラー応答が送信されるのはなぜですか?
  2. 上記を機能させるにはどうすればよいですか?
4

2 に答える 2

1

ken -tracking.jsを試してみてください。これは、ken-js の完全なドロップイン代替品である新しい追跡専用 SDK です。以下は、新しい 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();
于 2016-06-22T02:49:51.923 に答える
1

Keen-parse は古いノード固有の SDK for Keen を使用しているようです。その SDK はかなり前に非推奨になり、それ以来、API に重大な変更がいくつかあったと思います。

代わりに、おそらくken-jsを直接使用することをお勧めします。セットアップは非常に簡単で、キーンパースから機能が失われることはないと思います。

于 2015-08-31T16:14:23.147 に答える