如何使用C#和twilio API发送短信
我正在尝试创建一个用户界面,用户可以在其中输入她的凭证和电话号码,并使用Twilio API向某些收件人发送消息
因此,我解释说,我创建了我的帐户并初始化了身份validation密钥和令牌
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平台
谢谢
看看您是否可以从以下代码获得任何帮助:
/// /// Sends alert as SMS /// /// /// 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 console安装了Twilio api版本4.7.2
我又做了以下几点:
Install-Package Twilio
比Visual Studio建议我在代码中添加对API的引用
using Twilio; using Twilio.Rest.Api.V2010.Account; using Twilio.Types;
感谢以下示例
这有效:
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
我不知道它为什么不起作用
PS:我不确定它是否相关,但我也使用NUGET控制台安装了它,它已经迁移了帮助或它可能没有,但我觉得我必须提到它:
Install-Package RestSharp
- 在部署.net核心应用程序时,HTTP错误500.19,错误代码0x8007000d visual studio 2017
- XmlSerializer不使用由sgen创建的XmlSerializers.dll
- C#从另一个表单调用方法
- 如何关闭ASP.NET核心框架完成的日志记录
- Bitwise与&和LOGICAL AND && 之间有什么区别
- UserPrincipal.GetGroups与UserPrincipal.GetAuthorizationGroups?
- 如何确保我创建的filedownload是UTF-8? (而不是没有BOM的UTF-8)
- 我们不能将形状从PPT幻灯片复制到C#中的原始格式的Word文档中吗?
- 摇动画(3D版)