如何使用 C# 和 twilio 发送短信 API
How to send sms using C# and twilio API
我正在尝试创建一个用户界面,用户可以在其中输入她的凭据和 phone 号码,然后使用 Twilio API
向某个收件人发送消息
正如所解释的那样,我创建了我的帐户并初始化了身份验证密钥和令牌
private void button1_Click(object sender, EventArgs e)
{
string ssid = twilioSSIDBox.Text;
string token = twilioTokenBox.Text;
string number = twilioNumberBox.Text;
var client = new TwilioRestClient(Environment.GetEnvironmentVariable(ssid), Environment.GetEnvironmentVariable(token));
client.SendMessage(number, "+158965220", "Teting API message!");
}
经过多次测试(硬编码 ssid 和令牌和号码)和文档咨询,消息仍然没有在 visual studio 平台上发送,我也没有收到任何错误消息或任何东西
所以我的问题是我缺少什么?我是否需要某个允许 visual studio 发送短信的库?
我正在使用 Visual studio 2015 和 windows 10 平台
谢谢
看看你是否可以从下面的代码中得到任何帮助:
/// <summary>
/// Sends alert as SMS
/// </summary>
/// <param name="details"></param>
/// <returns></returns>
public static Message SendSms(DeliveryDetails details)
{
var messageResult = new Message();
try
{
if (details?.ToNumber != null)
{
var toNumberList = details.ToNumber.ToList();
if (toNumberList.Count > 0)
{
foreach (var toNumber in toNumberList)
{
messageResult = Twilio.SendMessage(FromNumber, toNumber, $"{details.Subject}\n\n{details.Message}");
if (messageResult == null)
{
logger.Error(string.Format(
"Error connecting to Twilio, message sending failed to {0}",
toNumber));
}
else if (messageResult.RestException != null)
{
logger.Error(string.Format("Twilio Error Message Description - {0}",
messageResult.RestException.Message));
}
else
{
logger.Info(String.Format("SMS {0} deliverd to {1}", messageResult.Body, messageResult.To));
}
}
}
else
{
logger.Error("ToNumber List Empty");
}
}
else
{
logger.Error("ToNumber List Null");
}
}
catch (Exception e)
{
logger.Error(String.Format("An error occurred while sending the message\n{0}", e.Message));
}
return messageResult;
}
我最终解决了我的问题
所以这在 VS2015 平台上不起作用:
var client = new TwilioRestClient(Environment.GetEnvironmentVariable(ssid), Environment.GetEnvironmentVariable(token));
client.SendMessage(number, "+158965220", "Teting API message!");
甚至以为我已经使用 nuget 控制台安装了 Twilio api 版本 4.7.2
我又做了以下操作:
Install-Package Twilio
比Visual studio建议我在代码
里面添加对API的引用
using Twilio;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;
感谢以下Example
这有效:
TwilioClient.Init(accountSid, authToken);
var message = MessageResource.Create(
to: new PhoneNumber(toNumber),
from: new PhoneNumber(FromNumber),
body: "Hello from C#");
所以我的结论可能是一个过时的库,因为当我使用 NUGET 安装时:
Install-Package Twilio -Version 4.7.2
我不知道为什么它不起作用
P.S:我不确定它是否相关,但我也使用 NUGET 控制台安装了它,它可能有帮助,也可能没有帮助,但我觉得我不得不提到它:
Install-Package RestSharp
我正在尝试创建一个用户界面,用户可以在其中输入她的凭据和 phone 号码,然后使用 Twilio API
向某个收件人发送消息正如所解释的那样,我创建了我的帐户并初始化了身份验证密钥和令牌
private void button1_Click(object sender, EventArgs e)
{
string ssid = twilioSSIDBox.Text;
string token = twilioTokenBox.Text;
string number = twilioNumberBox.Text;
var client = new TwilioRestClient(Environment.GetEnvironmentVariable(ssid), Environment.GetEnvironmentVariable(token));
client.SendMessage(number, "+158965220", "Teting API message!");
}
经过多次测试(硬编码 ssid 和令牌和号码)和文档咨询,消息仍然没有在 visual studio 平台上发送,我也没有收到任何错误消息或任何东西
所以我的问题是我缺少什么?我是否需要某个允许 visual studio 发送短信的库?
我正在使用 Visual studio 2015 和 windows 10 平台
谢谢
看看你是否可以从下面的代码中得到任何帮助:
/// <summary>
/// Sends alert as SMS
/// </summary>
/// <param name="details"></param>
/// <returns></returns>
public static Message SendSms(DeliveryDetails details)
{
var messageResult = new Message();
try
{
if (details?.ToNumber != null)
{
var toNumberList = details.ToNumber.ToList();
if (toNumberList.Count > 0)
{
foreach (var toNumber in toNumberList)
{
messageResult = Twilio.SendMessage(FromNumber, toNumber, $"{details.Subject}\n\n{details.Message}");
if (messageResult == null)
{
logger.Error(string.Format(
"Error connecting to Twilio, message sending failed to {0}",
toNumber));
}
else if (messageResult.RestException != null)
{
logger.Error(string.Format("Twilio Error Message Description - {0}",
messageResult.RestException.Message));
}
else
{
logger.Info(String.Format("SMS {0} deliverd to {1}", messageResult.Body, messageResult.To));
}
}
}
else
{
logger.Error("ToNumber List Empty");
}
}
else
{
logger.Error("ToNumber List Null");
}
}
catch (Exception e)
{
logger.Error(String.Format("An error occurred while sending the message\n{0}", e.Message));
}
return messageResult;
}
我最终解决了我的问题
所以这在 VS2015 平台上不起作用:
var client = new TwilioRestClient(Environment.GetEnvironmentVariable(ssid), Environment.GetEnvironmentVariable(token));
client.SendMessage(number, "+158965220", "Teting API message!");
甚至以为我已经使用 nuget 控制台安装了 Twilio api 版本 4.7.2
我又做了以下操作:
Install-Package Twilio
比Visual studio建议我在代码
里面添加对API的引用 using Twilio;
using Twilio.Rest.Api.V2010.Account;
using Twilio.Types;
感谢以下Example
这有效:
TwilioClient.Init(accountSid, authToken);
var message = MessageResource.Create(
to: new PhoneNumber(toNumber),
from: new PhoneNumber(FromNumber),
body: "Hello from C#");
所以我的结论可能是一个过时的库,因为当我使用 NUGET 安装时:
Install-Package Twilio -Version 4.7.2
我不知道为什么它不起作用
P.S:我不确定它是否相关,但我也使用 NUGET 控制台安装了它,它可能有帮助,也可能没有帮助,但我觉得我不得不提到它:
Install-Package RestSharp