如何设置meteor以从外部API接收事件?

时间:2014-06-07 20:37:41

标签: meteor

我已经使用此外部API注册了我的网址(让我们称之为https://mywebaddress/callbacks),现在它将在完成操作时向我发送JSON。我不需要发起任何外向的东西,我只需要接收JSON并存储它。

编辑: JSON数据将通过POST

接收

1 个答案:

答案 0 :(得分:4)

保罗的链接让我朝着正确的方向前进。 (http://www.meteorpedia.com/read/REST_API)。

然后我找到了标题为“WebApp.connectHandlers and connect”的部分。

我使用了那里找到的代码,但在我的实例中,代码中出现了错误。我必须将第一行从var connect = Npm.require('connect');更改为var connect = Meteor.require('connect');

以下是代码。

// necessary to parse POST data
var connect = Meteor.require('connect');
// necessary for Collection use and other wrapped methods
var Fiber = Npm.require('fibers');
WebApp.connectHandlers
    .use(connect.urlencoded())  // these two replace
    .use(connect.json())        // the old bodyParser
    .use('/getUserProfile', function(req, res, next) {

        // necessary for Collection use and other wrapped methods
        Fiber(function() {

            var userId = req.body.userId;
            var user = Meteor.users.findOne(userId);

            res.writeHead(200, {'Content-Type': 'application/json'});
            res.end(JSON.stringify(user.profile));

        }).run();
    });    
}

然后为了测试这是否正常,我使用了http://www.hurl.it/。我将目标更改为POST并添加了content-type的头文件 - application / json。然后我在身体上粘贴了一些我知道来自平衡的JSON。如果您需要一个工具来查看实际发布到服务器的内容,您可以使用http://requestb.in/