访问 Twilio MMS 图像

Posted

技术标签:

【中文标题】访问 Twilio MMS 图像【英文标题】:Accessing Twilio MMS images 【发布时间】:2015-08-03 16:15:54 【问题描述】:

在 Twilio 中,当给定 ImageMedia URL 时,它正在访问 twilio api,如下所示

https://api.twilio.com/2010-04-01/Accounts/account sid/Messages/message sid/Media/media sid

如果您手动登录到 twilio API,该 url 将重定向到位于

的图像

http://media.twiliocdn.com.s3-website-us-east-1.amazonaws.com/account sid/image id

如何从 twilio API 获取直接图像 ID 以包含在我的 Web 应用程序中?

我正在使用 node.js,每次我尝试轮询媒体资源时,我收到的只是指向 api.twilio.com 而不是 mdeia.twiliocdn.com 的链接

【问题讨论】:

这里是 Twilio 传播者。很确定没有办法从 API 获取直接的 S3 URL。请问为什么获取 S3 URL 更适合您? 我需要彩信图像对任何获得彩信的代理都可见。我认为只显示 twilio 提供的 URL 链接是最简单的。我可以下载图像,但我也看不到使用 API 的方法,似乎除非我转到链接并在浏览器中登录到 twilio API,否则无法获取图像 您应该能够使用 API URL。 Twilio 将使用我们在将消息发送给我们时收到的任何内容类型与图像一起返回媒体。 twilio.com/docs/api/rest/media#instance-get 有没有办法用为 Node.js 提供的库来做到这一点?据我所知,唯一的方法是使用 curl 访问我试图避免的媒体资源。 直接链接到 S3 来显示图像会很方便。否则我们必须下载媒体,然后在我们的服务器上重新提供它 【参考方案1】:

图书馆不处理我能找到的这个功能

但是,如果其他人遇到同样的问题,这里就是解决方案

安装请求。

然后只需获取NumMediaMediaUrl parameters...

if(req.body.NumMedia > 0) 
   var request = require('request')
    request.get(req.body.MediaUrl0).auth(config.twilio.sid, config.twilio.auth, false).pipe(fs.createWriteStream("/var/www/app/public/mms/" + sid + '1.jpg' ));
 

请记住,最多可以发送 10 张图片,因此您只需要收集这些额外图片的逻辑即可。

【讨论】:

谢谢您,但是如果您不想将图像另存为 .JPG 格式,而是采用原始格式怎么办?

以上是关于访问 Twilio MMS 图像的主要内容,如果未能解决你的问题,请参考以下文章

如何检查 Twilio.Device 处理程序是不是已存在

Twilio Video Javascript在服务器上

Twilio 可编程语音呼叫立即完成

Twilio:通话记录中的通话记录 mp3 文件存在问题

创建到 Twilio 函数的 HTTP POST(发送 SMS)

Twilio - X-Twilio-Signature - 传入请求验证