如何从Twilio收到的点击Web API的MMS中获取媒体

本文关键字:API Web MMS 媒体 获取 Twilio | 更新日期: 2023-09-27 18:29:15

我已经设置了一个Twilio号码来发布到我的应用程序的api控制器。当我向Twilio号码发送照片消息时,控制器被击中,并且响应文本被正确发送,这很好。我使用的是Twilio.Mvc和Twilio.TwiML nuget软件包。

我想知道如何从控制器中的照片消息中访问图像。对于下面的代码,twilioRequest总是以null的形式出现。无论我是向Twilio号码发送短信还是彩信,它都是null

我是否正确使用了TwilioRequest,或者是否有其他参数可以用于从控制器中的消息中获取信息?消息正在发送并得到正确响应,但我不知道如何查看和使用发送到我的Twilio号码的内容/媒体。

    // POST: api/TestResponse
    public HttpResponseMessage Post(TwilioRequest twilioRequest)
    {
        var twilioResponse = new TwilioResponse();
        twilioResponse.Sms("This is a test response text");
        return Request.CreateResponse(HttpStatusCode.OK, twilioResponse.Element, new XmlMediaTypeFormatter());
     }

非常感谢您抽出时间。如果我不清楚,或者你需要我提供任何其他信息,请告诉我。

如何从Twilio收到的点击Web API的MMS中获取媒体

MMS参数直接在Request对象中。以下是我的MVC项目的要点:

var tmp= Request.Params["NumMedia"];
int numMedia= int.Parse(tmp);
if(numMedia > 0)
{
    var msg = "Found " + numMedia + " mms things";
    for (int i = 0; i < numMedia; i++)
    {
        var mediaType = Request.Params["MediaContentType" + i];
        var mediaUrl = Request.Params["MediaUrl" + i];
        //save the info to the database or download the media
    }
    //do something with 'msg'
}

来自Twilio的Megan。

我在使用OpenCV进行这个项目时也遇到了类似的问题。

Python中有一个例子,因为我还没有尝试过C#的HTTP库。但是机制是一样的。基本上,如果Twilio的请求参数'NumMedia'不为空,那么您可以从Twilio存储媒体的URL 'MediaUrl{N}'中获取内容。

如果这有帮助,请告诉我。