松弛附件错误:未定义private_url

时间:2018-08-02 16:10:49

标签: node.js slack slack-api

我有一个简单的代码,可以从松弛消息中下载图像。

 var url = message.file.private_url;

 var destination_path = './tmp/uploaded';

  var opts = {
  method: 'GET',
  url: url,
  headers: {
    Authorization: 'Bearer ' + process.env.botToken,
  }
};
request(opts, function(err, res, body) {
      console.log('FILE RETRIEVE STATUS',res.statusCode);
  }).pipe(fs.createWriteStream(destination_path));

代码可以正常工作一段时间,但是现在我遇到了这个错误:

  

接收中间件中发生错误:TypeError:无法读取未定义的属性'private_url'

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

您是否正在使用事件API?

最近对该API进行了几处更改(事件API和Web API)。看到这里:https://api.slack.com/changelog/2018-05-file-threads-soon-tread

如果您描述正在使用的API,我也许可以提供更具体的帮助,但是我怀疑问题(如上面的链接中所述)是消息所附加的file属性已被替换带有一个新的files字段(一个数组)。数组中的文件格式也不同。

检查JSON有效负载。它可能包含一个files数组。