Я пытаюсь отправить SMS-сообщение из тестового кода модуля C#, но я не могу получить текстовое сообщение, и я не знаю, где его отладить.Отправка текстового SMS-сообщения с использованием twilio не работает
Кроме того, внутри моего объекта ответа я получаю значение «Плохой запрос». Что я делаю не так. Также в цикле while я жду ответа для обработки.
Вот мой код.
[TestMethod]
public void TestMethod1()
{
Assert.IsTrue(SendMessage("+1MYFROMPHONENUMBER", "+1MYTOPHONENUMBER", "sending from code"));
}
public bool SendMessage(string from, string to, string message)
{
var accountSid = "MYACCOUNTSIDFROMTWILIOACCOUNT";
var authToken = "MYAUTHTOKENFROMTWILIOACCOUNT";
var targeturi = "https://api.twilio.com/2010-04-01/Accounts/{0}/SMS/Messages";
var client = new System.Net.Http.HttpClient();
client.DefaultRequestHeaders.Authorization = CreateAuthenticationHeader("Basic", accountSid, authToken);
var content = new StringContent(string.Format("From={0}&To={1}&Body={2}", from, to, message));
content.Headers.ContentType = new MediaTypeHeaderValue("application/x-www-form-urlencoded");
var result = false;
var response = client.PostAsync(string.Format(targeturi, accountSid), content).Result;
do
{
result = response.IsSuccessStatusCode;
} while (result == false);
return result;
}
Я отредактировал свой вопрос. –
@ dotnet-practitioner Из [twilio documentation] (http://www.twilio.com/docs/api/rest/request) «Плохой запрос» означает «Данные, полученные в результате неудачной проверки POST или PUT. для деталей. " Посмотрите на это тело ответа и сообщите мне, есть ли у вас вопросы. И избавитесь от цикла 'do..while', это не делает вам ничего хорошего: после того, как вы' ждёте' или выполните '.Result', запрос будет выполнен, и ничего не изменится. –
@ dotnet-practitioner Я добавил предложение использовать 'FormUrlEncodedContent'. Это делает другой запрос, чем ваш код 'StringContent'. Это может быть причиной ошибки «Плохой запрос». –