0

我正在尝试将我的应用程序连接到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":"必须提供参数文本"},"响应":{}}

4

1 回答 1

1

您需要实际发送您的请求。请参阅:如何在 node.js 中发出 HTTP POST 请求?

var req2 = http.request(options, function(res2) {
    res2.setEncoding('utf8');
    res2.on('data', function (chunk) {
        console.log('BODY: ' + chunk);
    });
});
req2.end();
于 2013-03-07T16:48:04.533 回答