3

SOカールを使用して、ポストリクエストをスラックに正常に送信できます

curl -X POST --data-urlencode 'payload={"channel": "#tech-experiment", "username": "at-bot", "text": "This is posted to #general and comes from a bot named webhookbot.", "icon_emoji": ":ghost:"}' https:/company.slack.com/services/hooks/incoming-webhook?token=dddddddd2342343

ただし、nodejsを使用してコードに変換すると

var request = require('request');
var http = require('http');
var server = http.createServer(function(req, response){
    response.writeHead(200,{"Content-Type":"text/plain"});
    response.end("end");
});

option = {
    url: 'https://company.slack.com/services/hooks/incoming-webhook?token=13123213asdfda',
    payload: '{"text": "This is a line of text in a channel.\nAnd this is another line of text."}'
}

request.post(
    option,

    function (error, response, body) {
        if (!error && response.statusCode == 200) {
            console.log(body)
        }else {
            console.log('wtf')
            console.log(response.statusCode)
            console.log(response)
            console.log(error)
        }
    }
);

ステータス500がスローされます。誰か助けてもらえますか?

トークンを確認して調査も行いましたが、何も機能していません..

私はあなたのすべての助けに感謝します

4

4 に答える 4

5

ではないと思いますpayloadform。このコードは Incoming Webhook の呼び出しに成功します。

var request = require('request');

var options = {
  uri: "https://hooks.slack.com/services/yourURI",
  form: '{"text": "This code..."}'
};
request.post(options, function(error, response, body){
  if (!error && response.statusCode == 200) {
    console.log(body.name);
  } else {
    console.log('error: '+ response.statusCode + body);
  }
});
于 2015-03-05T00:27:09.870 に答える
1

同じことをしようとしているときにこれを見つけたので、チャイムを鳴らしたかった. 私はこれをやってしまった:

 got('https://hooks.slack.com/services/[your configured url]', {
              method: 'POST',
              body: JSON.stringify({
                "text": "message" + variable
              })
            });
于 2015-11-06T18:26:02.070 に答える