1

这个问题与 Twilio 及其 API (C#) 有关。

我没有网站或网络应用程序,只需要在服务器(不是网络服务器)上发生某些事情时向我自己的私人手机发送短信通知。我已经成功地从 C# dll 向我的手机发送了短信。我想检查消息的状态。所有参考都暗示网站/Web 应用程序用例,并使用 URL 获取状态。

我如何在 C# 中做到这一点?这里有建议的例子?没有 PHP 或其他网络服务器技术。

4

3 回答 3

6

我找到的解决方案非常简单。建议(在此处提出)是保留消息 ID。我在 TwilioRestClient 上发现了 GetSMSMessage 方法。因此,在发送后一段时间查询消息状态将为您提供更新的状态。

于 2012-12-31T14:45:41.250 回答
0

顺便说一句,您需要注意的一件事是,如果您过早查询 API,您可能会得到“排队”或“正在发送”而不是“已发送”或“失败”的状态,所以要确保您的逻辑设置为处理这些其他可能的响应

还要记住,如果您尝试通过 Twilio 电话号码每秒发送超过 1 条消息,Twilio 会将多余的消息排队并以每个号码每秒 1 条消息的速率释放它们。这会起作用,因为如果您在 1 秒内发送 10 条消息的突发事件,但是您在 5 秒后去检索消息的状态,一半的消息将被“发送”,一半将被“排队”。

于 2012-12-31T19:05:39.483 回答
0

如果您没有回调网址。只需调用方法

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。

于 2019-09-09T21:59:49.670 回答