使用 javascript 调用 slack-hubot api _ 结果主体始终未定义

calling slack-hubot api with javascript _ result body always undefined

但它总是return未定义的主体。

这是我的源代码。 : 静态变量

const TOKEN = 'xoxp-7186818662-7186899793-7811139362-ccc6df';
const emojiAPIUrl = 'https://slack.com/api/emoji.list';

:使用

module.exports = function (robot) {
    robot.hear(/show emoji/igm, function(msg){
        var paramData = {'token' : TOKEN};
        var result = robot.http(emojiAPIUrl)
                        .headers({'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded'})
                        .post(paramData, function(error, res, body){
                            console.log('err >> ' + error);
                            console.log('res >> ' + stringifyObject(res));
                            console.log('body >> ' + body);
                        });
    });
};

以下是我得到的结果

2015-07-19T06:22:27.303867+00:00 app[web.1]: err >> Error: socket hang up
2015-07-19T06:22:27.303960+00:00 app[web.1]: res >> 
2015-07-19T06:22:27.304014+00:00 app[web.1]: body >> undefined

您可以通过以下调用查看结果url

https://slack.com/api/emoji.list?token=xoxp-7186818662-7186899793-7811139362-ccc6df

我不明白为什么不能得到像 url 这样的 json 结果。 谢谢 :D

P.S。如果您知道 javascript 的 hubot 脚本指南,请分享它 :D。网络上有很多示例,但大多数咖啡脚本很难参考:-<

在 URL https://slack.com/api/emoji.list?token=xoxp-7186818662-7186899793-7811139362-ccc6df 中不是 POST 它是 GET 所以你应该这样做:

robot.http("https://slack.com/api/emoji.list?token=xoxp-7186818662-7186899793-7811139362-ccc6df")
  .get()(function(err, res, body) {
     console.log(body);
  }
);