2016-04-29 7 views
1

enter image description hereノードRestify整数を返すか?

これは私のボットのためにFacebookによって検証されたURLを取得しようとするときに得られるものです。私はそれがデータ型の問題であることを知っています。私はintの代わりに文字列を返送しています。 、parseInt()にもかかわらず

server.get("/webhook/",function(req,res,next){ 
    var token = req.query.hub.verify_token; 
    if(token === process.env.VALIDATION_TOKEN){ 
     var challenge = parseInt(req.query.hub.challenge); 
     res.send(req.query.hub.challenge); 
    }else{ 
     res.send("Error, wrong validation token"); 
    } 
    return next(); 

}); 

res.send()は、文字列を送り返す:ここに私のコードは次のようになります。 intを返すにはどうしたらいいですか?

答えて

1

res.sendは、restify docs(ただし、表現は同じですが)オブジェクト、配列、バッファまたは文字列を返すだけです。

  1. はこのようにバッファを使用します:

    var buf = new Buffer(4); 
    buf.writeUInt32BE(challenge, 0); 
    res.send(buf); 
    
  2. 使用res.write(challenge)またはres.end(challenge)

    は、あなたが2(みかん3)のオプションを持っている整数を返送します。詳細については、ドキュメントはherehereです。

+0

ただし、req.query.hub.challengeは実際には整数であることがわかります。 res.send()は文字列にします –

+0

さて、私はそれを理解しました。私はそれの深さに入るのではなく、res.write()とres.end()は魔法をしました:) –

+0

@LittleChildええと、私はそれについて、あるいはバッファーを使うアプローチに応じようとしていました。他の誰かがこの質問に遭遇した場合に私の答えを更新します。 – winhowes

関連する問題