C# 使用twilio c客户机传回twilio响应

C# 使用twilio c客户机传回twilio响应,c#,response,twilio,C#,Response,Twilio,我正在使用并且能够接收来自twilio的通信。我在回复twilio并让twilio识别它时遇到困难。目前,我正试图以微弱的反应作出回应。有人举个好例子吗?这是一个WebApi自托管windows服务 例如,TwiliorResponse.Messageok 经过一段时间的修修补补,这似乎奏效了 var twiml = new TwilioResponse().Message("test"); return TwilioResponse(twiml); private HttpResponseM

我正在使用并且能够接收来自twilio的通信。我在回复twilio并让twilio识别它时遇到困难。目前,我正试图以微弱的反应作出回应。有人举个好例子吗?这是一个WebApi自托管windows服务


例如,TwiliorResponse.Messageok

经过一段时间的修修补补,这似乎奏效了

var twiml = new TwilioResponse().Message("test");
return TwilioResponse(twiml);

private HttpResponseMessage TwilioResponse(TwilioResponse twilioResponse)
{
    return new HttpResponseMessage()
    {
        Content = new StringContent(twilioResponse.ToString(), Encoding.UTF8, "text/xml"),
        StatusCode = System.Net.HttpStatusCode.OK
    };
}

经过一段时间的修补,这似乎达到了目的

var twiml = new TwilioResponse().Message("test");
return TwilioResponse(twiml);

private HttpResponseMessage TwilioResponse(TwilioResponse twilioResponse)
{
    return new HttpResponseMessage()
    {
        Content = new StringContent(twilioResponse.ToString(), Encoding.UTF8, "text/xml"),
        StatusCode = System.Net.HttpStatusCode.OK
    };
}

我使用了相同的web API,您可以使用下面的代码,但首先您必须在Twilio UserAccount中配置您的应用程序

 public class WelcomeController : ApiController
{
    public HttpResponseMessage Post(VoiceRequest request)
    {
        var response = new TwilioResponse();

        response.Say("Welcome to Dhaval demo app. Please enter your 5 digit ID.");
        response.Gather(new { numDigits = 5, action = string.Format("/api/Authenticate") });

        return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
    }

}
当我按下5位数字“否”时,它将借给授权控制器,看起来像

  public HttpResponseMessage Post(VoiceRequest request)
    {
        var response = new TwilioResponse();

        var validIds = new List<string> { "12345", "23456", "34567" };
        var userId = request.Digits;
        var authenticated = validIds.Contains(userId);

        if (!authenticated)
        {
            response.Say("You entered an invalid ID.");
            response.Hangup();
        }
        else
        {
            response.Say("ID is valid.");

            response.Redirect(string.Format("/api/Name?userId={0}", userId));
        }

        return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
    }
它在我这边工作得很好,再次检查它是否正确,您是否给出了正确的AuthToken


干杯

我使用了相同的web API,您可以使用下面的menioned代码,但首先您必须在Twilio UserAccount中配置您的应用程序

 public class WelcomeController : ApiController
{
    public HttpResponseMessage Post(VoiceRequest request)
    {
        var response = new TwilioResponse();

        response.Say("Welcome to Dhaval demo app. Please enter your 5 digit ID.");
        response.Gather(new { numDigits = 5, action = string.Format("/api/Authenticate") });

        return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
    }

}
当我按下5位数字“否”时,它将借给授权控制器,看起来像

  public HttpResponseMessage Post(VoiceRequest request)
    {
        var response = new TwilioResponse();

        var validIds = new List<string> { "12345", "23456", "34567" };
        var userId = request.Digits;
        var authenticated = validIds.Contains(userId);

        if (!authenticated)
        {
            response.Say("You entered an invalid ID.");
            response.Hangup();
        }
        else
        {
            response.Say("ID is valid.");

            response.Redirect(string.Format("/api/Name?userId={0}", userId));
        }

        return this.Request.CreateResponse(HttpStatusCode.OK, response.Element, new XmlMediaTypeFormatter());
    }
它在我这边工作得很好,再次检查它是否正确,您是否给出了正确的AuthToken

干杯