这个问题与 Twilio 及其 API (C#) 有关。
我没有网站或网络应用程序,只需要在服务器(不是网络服务器)上发生某些事情时向我自己的私人手机发送短信通知。我已经成功地从 C# dll 向我的手机发送了短信。我想检查消息的状态。所有参考都暗示网站/Web 应用程序用例,并使用 URL 获取状态。
我如何在 C# 中做到这一点?这里有建议的例子吗?没有 PHP 或其他网络服务器技术。
我找到的解决方案非常简单。建议(在此处提出)是保留消息 ID。我在 TwilioRestClient 上发现了 GetSMSMessage 方法。因此,在发送后一段时间查询消息状态将为您提供更新的状态。
顺便说一句,您需要注意的一件事是,如果您过早查询 API,您可能会得到“排队”或“正在发送”而不是“已发送”或“失败”的状态,所以要确保您的逻辑设置为处理这些其他可能的响应。
还要记住,如果您尝试通过 Twilio 电话号码每秒发送超过 1 条消息,Twilio 会将多余的消息排队并以每个号码每秒 1 条消息的速率释放它们。这会起作用,因为如果您在 1 秒内发送 10 条消息的突发事件,但是您在 5 秒后去检索消息的状态,一半的消息将被“发送”,一半将被“排队”。
如果您没有回调网址。只需调用方法
TwilioClient.Init(accountSid, authToken);
var message = MessageResource.Create(
body: "Join Earth's mightiest heroes. Like Kevin Bacon.",
from: new Twilio.Types.PhoneNumber(fromNumber),
to: new Twilio.Types.PhoneNumber(toNumber)
);
Console.WriteLine(message.Sid);
//Get the status from twilio
TwilioClient.Init(accountSid, authToken);
var verificationCheck = MessageResource.Fetch(message.Sid);
Console.WriteLine(verificationCheck.Status);
其中 Sid 是您从 Twilio 返回的 id。