Я работаю с Twilio API, и он предоставляет примеры на PHP и Ruby.Я работаю над сайтом для отправки текстовых сообщений через API, который закодирован в ASP.NET MVC 3, и, используя мои ограниченные знания об объекте WebRequest, я смог перевести это:
curl -X POST 'https://api.twilio.com/2010-04-01/Accounts/AC4840da0d7************f98b20b084/SMS/Messages.xml' \
-d 'From=%2B14155992671' \
-u AC4840da0d7************f98b20b084:f7fc2**************75342
Вэто:
var request =
WebRequest.Create(MessageApiString + "?From=+14*********1&To=" + Phone + "&Body=" + smsCampaign.Message);
var user = "AC4840da0d7************f98b20b084";
var pass = "f7fc2**************75342";
string credentials = String.Format("{0}:{1}", user, pass);
request.Headers.Add("Authorization", credentials);
var result = request.GetResponse();
Но это не аутентификация, я получаю 401 от их API.Что эквивалентно C # для команды cURL -u
?
Обновление
var request =
WebRequest.Create(MessageApiString + "?From=+14155992671&To=" + Phone + "&Body=" + smsCampaign.Message);
var cc = new CredentialCache();
cc.Add(new Uri(MessageApiString), "NTLM", new NetworkCredential("AC4840da0d7************f98b20b084", "f7fc2**************75342"));
request.Credentials = cc;
request.Method = "POST";
var result = request.GetResponse();
По-прежнему получается 401. Есть идеи?
Обновление 2
Хорошо, благодаря ответам ниже, я смог дозвониться до API, но теперь я получаю 400 Bad Request.Есть ли более чистый способ создания строки запроса для передачи этих данных?Три поля: From
, To
и Body
.