我正在尝试将我的应用程序连接到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”:“必须提供参数文字”},“回复”:{}}
答案 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();