Foursquare入住回复

时间:2013-03-07 05:01:10

标签: node.js express foursquare

我正在尝试将我的应用程序连接到foursquare,我希望在用户签到某些地方时显示一条消息。我正在尝试使用他们的实时api https://developer.foursquare.com/overview/realtime

一切正常,直到最后,(我必须发送回复帖请求https://developer.foursquare.com/docs/checkins/reply)我正在使用express和node.js.这是我的帖子请求的样子。

app.post('/handlepush', function(req, res) {
 var checkin_id =req.param('checkin');
 console.log(checkin_id);
 var obj = JSON.parse(checkin_id);
 var id = obj.id;

res.end('It worked!');

var token = "********************************";

var post_data = querystring.stringify({text : "awesome"});
var options = {
    host: 'api.foursquare.com',
    path: '/v2/checkins/' + id + '/reply?oauth_token=' + token,
    port: 443,
    method: 'POST'
};

var req2 = https.request(options, function(res2) {
    res2.setEncoding('utf8');
    res2.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
  });

req2.on('error', function(e) {
  console.log('problem with request: ' + e.message);
});

});
req2.write(post_data);
req2.end();



});

这是我得到的错误,由于某种原因,我无法为我的帖子添加参数:     BODY:{“meta”:{“code”:400,“errorType”:“other”,“errorDetail”:“必须提供参数文字”},“回复”:{}}

1 个答案:

答案 0 :(得分:1)

您需要实际发送您的请求。请参阅:How to make an HTTP POST request in node.js?

var req2 = http.request(options, function(res2) {
    res2.setEncoding('utf8');
    res2.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
    });
});
req2.end();