1

ユーザーが特定の部屋に書き込むときにデータを返すカスタム スラッシュ コマンドを作成しました。これは、API エンドポイントで値をハードコーディングした場合にのみ機能します。「/notes 12345」のように送信されたメッセージから「12345」を返したいです。

Hipchat から送信されたメッセージ本文に含まれる値を取得するためにノード API エンドポイントを構成する方法がわかりません。受信データを処理するために何か特別なものが必要ですか?

 app.post("/notes", function(req, res) {

  var value = req.body.message;

これは Postman を使用している場合に機能しますが、ユーザーが部屋に入力した値から取得したいと考えています。

RequestBinを使用して、Hipchatから送信された生データを取得しました。

{
    "event": "room_message",
    "item": {
        "message": {
            "date": "2016-11-01T16:24:35.109356+00:00",
            "from": {
                "id": int,
                "links": {
                    "self": "string"
                },
                "mention_name": "DannyDainton",
                "name": "Danny Dainton",
                "version": "string"
            },
            "id": "string",
            "mentions": [],
            "message": "/notes 67898",  <<<---- I want this value
            "type": "message"
        },
        "room": {
            "id": int,
            "is_archived": bool,
            "links": {
                "members": "string",
                "participants": "string",
                "self": "string",
                "webhooks": "string"
            },
            "name": "string",
            "privacy": "string",
            "version": "string"
        }
    },
    "oauth_client_id": "string",
    "webhook_id": int
}

node Express API エンドポイントへの POST リクエストでこれを機能させるにはどうすればよいですか? JSON.parse または stringify などを使用する必要がありますか? この時点で本当に無知です。

よろしくお願いします。

4

1 に答える 1

1

最終的に必要だったのはこれだけです。私はそれが簡単なものになることを知っていました!

   app.post("/notes", function(req, res) {

      var value = req.body.item.message.message;
于 2016-11-01T21:57:01.607 に答える