使用WebRequest和Twilio发送消息
本文关键字:消息 Twilio WebRequest 使用 | 更新日期: 2023-09-27 18:00:55
我需要使用Twilio服务和NetDuino发送消息。我知道有一个API允许发送消息,但它在后台使用Rest-Sharp,这与微框架不兼容。我试着做了下面这样的事情,但我得到了一个401错误(未经授权(。我在这里得到了这个代码表单(这正是我需要做的(
var MessageApiString = "https://api.twilio.com/2010-04-01/Accounts/{AccountSid}/SMS/Messages.json";
var request = WebRequest.Create(MessageApiString + "?From=+442033*****3&To=+447*****732&Body=test");
var user = "AC4*************0ab05bf";
var pass = "0*************b";
request.Method = "POST";
request.Credentials = new NetworkCredential(user, pass);
var result = request.GetResponse();
Twilio福音传道者。
从上面的代码来看,您并没有用实际的Account Sid替换MessageApiString变量中的{AccountSid}
令牌。
此外,看起来您正在将电话号码参数作为querystring值附加到URL中。因为这是一个POST请求,我认为您需要将这些作为请求主体,而不是在querystring中,这意味着您还需要设置ContentType属性。
这里有一个例子:
var accountSid = "AC4*************0ab05bf";
var authToken = "0*************b";
var MessageApiString = string.Format("https://api.twilio.com/2010-04-01/Accounts/{0}/SMS/Messages.json", accountSid);
var request = WebRequest.Create(MessageApiString);
request.Method = "POST";
request.Credentials = new NetworkCredential(accountSid, authToken);
request.ContentType = "application/x-www-form-urlencoded";
var body = "From=+442033*****3&To=+447*****732&Body=test";
var data = System.Text.ASCIIEncoding.Default.GetBytes(body);
using (Stream s = request.GetRequestStream())
{
s.Write(data, 0, data.Length);
}
var result = request.GetResponse();
希望能有所帮助。