【问题标题】:Twilio REST Client stops working after adding Studio Flow?添加 Studio Flow 后,Twilio REST 客户端停止工作?
【发布时间】:2019-03-30 04:59:41
【问题描述】:

我在 Visual Studio 2017 中使用 Twilio REST 客户端。为 simple SMS autoresponder 添加 Studio Flow 后,我无法再使用 Twilio REST API 从我的 ASP.net 应用程序发送 SMS 消息。

错误信息是“需要升级”

at Twilio.Clients.TwilioRestClient.ProcessReponse(Reponse response)
at Twilio.Rest.Api.V2010.Account.MessageResource.Create(CreateMessageOptions options, ITwilioRestClient client)
at...

我已经尝试将 Twilio REST API 帮助程序库 NuGet 包升级到最新版本 5.28.0。

这个错误发生在这个曾经可以工作的基本短信发送代码上。

Dim message = MessageResource.Create(body:=strBody, from:=New Twilio.Types.PhoneNumber(Credentials.TwilioFixityNewNumberFormatted), [to]:=New Twilio.Types.PhoneNumber(strFormattedNumber))
Return message.Sid

我的 Twilio 帐户中没有任何错误消息或通知表明有问题或需要。有没有人经历过这样的事情?

【问题讨论】:

  • 不清楚你究竟做了什么“添加工作室流程”。如果您恢复您所做的一切,您是否能够再次发送消息?
  • 不,我无法恢复。我只是按照链接中的指南进行操作。在检查异常后,它似乎是 API 错误 20426 和/或 20011。随附的文档说,新的 TLS 1.2 要求对 2019 年 3 月 28 日之后创建的新项目生效。我的猜测是,添加 Flow 会使项目变得“新”,并受制于我的 HTTP 客户端当前无法处理的这些新要求。 support.twilio.com/hc/en-us/articles/…

标签: twilio twilio-api


【解决方案1】:

似乎修改 Twilio 项目使其成为受制于 2019 年 3 月 28 日刚刚实施的 TLS 1.2 要求的“新”项目。该问题已通过将 Windows 和 .NET 更新到最新更新并在访问 Twilio REST API 之前显式启用 TLS 1.2 得到解决:

ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12   'Force TLS 1.2

【讨论】:

    【解决方案2】:

    当您使用旧的 TLS 版本时,Twilio 返回 需要升级。直接使用ServicePointManager.SecurityProtocol 设置版本确实可以修复它,但这不是一个好主意,因为当新的 TLS 版本发布时它会变得过时。相反,请参阅 Transport Layer Security (TLS) best practices with the .NET Framework,因为某些原因它可能选择了旧版本。

    在我的情况下,这是由于 Web.config 中的这一行:

    <httpRuntime targetFramework="4.5" />
    

    将其设置为我正在使用的实际 .NET Framework 版本修复了 Twilio 错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      • 2016-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多