0

アプリケーションを foursquare に接続しようとしていますが、ユーザーが特定の場所にチェックインしたときにメッセージを表示したいと考えています。彼らのリアルタイム API を使用しようとしています https://developer.foursquare.com/overview/realtime

すべてが最後まで正常に動作します (返信投稿リクエストを送信する必要があるときhttps://developer.foursquare.com/docs/checkins/reply ) 私はエクスプレスと 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":"Must provideパラメータ テキスト"},"応答":{}}

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 に答える