2014-08-28 102 views

回答

1

擺弄了一陣後,這似乎這樣的伎倆。

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 
    }; 
} 
3

我已經使用了相同的Web API,你可以使用下面的menioned代碼,但首先,你必須配置Twilio UserAccount你的APP。

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位沒有那麼它會借給Authetication控制器它看起來像

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

乾杯