我在VB.net中创建了一个与调度软件相关的应用程序。它通过向他们发送SMS更新来使我们的员工保持最新状态。员工可以回复我们。发送消息非常有用。该应用程序使用Rest API连接到Twilio。我还可以获得收到的消息列表,但我似乎无法以适合我的方式获取消息。
目前我的应用程序会检查每5分钟是否有新邮件。应用程序获取消息列表(使用过滤器DateSent> = today),然后遍历消息并将新消息复制到我们的调度数据库中。
是否可以仅使用VB.net对新的SMS消息进行更有效的数据提取?我可以在当前过滤器DateSent> = today之外添加时间过滤器以限制结果集吗?有什么建议? (遗憾的是,我不做网页编码)谢谢。
答案 0 :(得分:1)
Twilio福音传教士在这里。
最好的方法就是使用Twilios web hook让Twilio每次收到消息时主动告诉你。什么是你问的网络钩子?好问题。
webhook只是一个HTTP请求,Twilio会在收到您的Twilio电话号码的入站短信后立即发出。您通常会告诉Twilio将此HTTP请求发送到您已创建并发布到公共网站的URL,您可以使用ASP.NET之类的内容轻松设置该URL。在这种情况下,您可以将Twilio视为向您创建的Web应用程序发出请求的Web浏览器。
您可以通过打开Twilio信息中心中的 Numbers 标签,然后找到并点击要配置的电话号码,告诉Twilio应该请求的网址:
现在,您可以在“消息请求URL”字段中设置希望Twilio请求的URL,然后单击“保存”:
现在,当Twilio请求此URL时,它将传递bunch of parameters及其可以在您的应用程序逻辑中使用的请求。您还可以执行诸如将TwiML返回到Twilio以响应其HTTP请求,告诉它执行send an SMS right back to the person who just sent one to you之类的操作。
如果您正在寻找更多的一步一步,我们网站上的Quickstarts非常容易理解,并会引导您完成发送接收短信。样本在C#中,但非常简单,所以转换为VB.NET应该很容易。
希望有所帮助。
答案 1 :(得分:0)
我正在做与VB.Net和Twilio类似的事情。我的解决方案是建立一个Azure网站和一个Azure SQL数据库(两者可以相互通信)。我将我的Twlio设置为在我的Azure网站上调用.ashx asp.net网页。在该网页内部,我有代码读取传入的文本消息并将其保存到我的Azure SQL数据库。
效果很好,但我的问题是Azure数据库位于“云端”,我的app \ database发送原始短信是在mylocal网络上。不知道如何跨越这个鸿沟......(我应该补充一点,我的本地应用程序可以读取Azure SQL数据库,但是看起来很丑,不得不呼叫Azure来获取数据。本来希望将它保存在我的本地数据库开始。)
可能不是一篇非常有用的帖子,但也许会给你一些建筑思路。如果您想查看我的.ashx页面,请告诉我。