Nodejs Twilio API 3.x - messages.delete(...) 不是函数

Nodejs Twilio API 3.x - messages.delete(...) is not a function

正在关注 this tutorial to try and delete sms messages,我可以通过此代码成功检索到单个消息:

client.messages(sid).fetch()
  .then((message) => {
    console.log(message);
    if (message.status === "received") {
      client.messages(sid).delete() //failing here
        .then(() => {
          response.send('Message deleted');
        })
        .catch((err) => console.error(err));
    }
  })

The documentation example只说明如何删除邮件正文,而不是删除邮件本身。当我控制台日志 messages 时,唯一可用的方法是:

{ create: [Function: create],
  each: [Function: each],
  list: [Function: list],
  page: [Function: page],
  getPage: [Function: getPage],
  get: [Function: get] }

注意我可以成功编辑邮件正文,following the instructions here:

client.messages(sid).update({body: ''})
.then((message) => {
    process.stdout.write(message.body);
    response.send('message deleted');
})

我相信您正在寻找的方法是remove。像下面这样修改您的代码实际上会删除消息:

client.messages(sid).fetch().then((m) => {
    if (m.status == "delivered") {
        console.log("It's delivered")
        console.log(m)
        m.remove().then(() => console.log("message removed"))
    }
})

您还需要单独处理任何媒体,因为根据文档,删除邮件时不会删除这些媒体。