Twilio 语音 <Gather> - DotNetCore - 数字参数始终为空
Twilio Voice <Gather> - DotNetCore - Digits parameter always null
我正在尝试执行以下操作:
- 调用 twilio #。
- 从用户那里收集数字。
- 处理数字。
我正在使用 DotNetCore webapi。
我遇到的问题是,当 twilio posts 到 Gather 操作 uri 时,Digits 始终为空。我在 twilio 调试控制台中确认 Digits 参数确实有一个值。
这是我的控制器的简化版本:
[ApiController]
[Route("api/[controller]")]
public class VoiceController : ControllerBase
{
[HttpPost]
public IActionResult Post()
{
var response = new VoiceResponse();
var say = new Say("Please type your meeting password.");
var gather = new Gather(action: "placeholderURI/JoinMeeting");
response.Append(gather).Append(say);
response.Redirect("placeholderURI");
return Content(response.ToString(), "application/xml");
}
[HttpPost("JoinMeeting")]
public IActionResult JoinMeeting(string Digits)
{
var response = new VoiceResponse();
if(Digits != null){
//do stuff
}else{
var say = new Say("WRONG");
response.Append(say).Redirect("placeholderURI");
}
return Content(response.ToString(), "application/xml");
}
}
此外,我可以将 RAW 参数从调试控制台复制到 postman 的参数中,并成功地 post 到我的端点。
我错过了什么吗?也许在 JoinMeeting 方法上做一些装饰?
我没看懂手册...
在 twilio POST 上,参数将在正文中。
在 twilio GET 上,参数将在查询字符串中。
我将第二种方法更新为 GET 并确保指定方法:
var gather = new Gather(action: "uriPlaceholder", method: HttpMethods.Get);
我正在尝试执行以下操作:
- 调用 twilio #。
- 从用户那里收集数字。
- 处理数字。
我正在使用 DotNetCore webapi。
我遇到的问题是,当 twilio posts 到 Gather 操作 uri 时,Digits 始终为空。我在 twilio 调试控制台中确认 Digits 参数确实有一个值。
这是我的控制器的简化版本:
[ApiController]
[Route("api/[controller]")]
public class VoiceController : ControllerBase
{
[HttpPost]
public IActionResult Post()
{
var response = new VoiceResponse();
var say = new Say("Please type your meeting password.");
var gather = new Gather(action: "placeholderURI/JoinMeeting");
response.Append(gather).Append(say);
response.Redirect("placeholderURI");
return Content(response.ToString(), "application/xml");
}
[HttpPost("JoinMeeting")]
public IActionResult JoinMeeting(string Digits)
{
var response = new VoiceResponse();
if(Digits != null){
//do stuff
}else{
var say = new Say("WRONG");
response.Append(say).Redirect("placeholderURI");
}
return Content(response.ToString(), "application/xml");
}
}
此外,我可以将 RAW 参数从调试控制台复制到 postman 的参数中,并成功地 post 到我的端点。
我错过了什么吗?也许在 JoinMeeting 方法上做一些装饰?
我没看懂手册...
在 twilio POST 上,参数将在正文中。
在 twilio GET 上,参数将在查询字符串中。
我将第二种方法更新为 GET 并确保指定方法:
var gather = new Gather(action: "uriPlaceholder", method: HttpMethods.Get);