代码之家  ›  专栏  ›  技术社区  ›  nbkkb7x

Twilio错误-Heroku上部署的Sinatra应用程序上出现12300

  •  1
  • nbkkb7x  · 技术社区  · 7 年前

    我在与Heroku一起部署的Sinatra应用程序上使用Twilio时遇到了一个奇怪的问题。我有一张公开票,但我想在一个问题上得到社区的意见。当我为数据库中的所有联系人创建当天的第一条彩信时,出现以下错误:

    错误12300 Twilio无法处理 提供的URL。请参阅 Twilio Markup XML Documentation 有关有效内容类型的详细信息。

    我从这个代码发送的55条消息中得到了30条。然而,如果我再次通过相同的方法运行相同的提交,我将得到0个错误。一切都会过去的。我非常困惑。我唯一能想到的是,Twilio在检索初始请求的IMG\U URL时遇到问题,可能会缓存它以备将来使用。我只是在猜。其他人在Heroku上使用Twilio也有类似的问题吗?

    以下是我用来发送的代码:

    #Twilio API Post from App
    post '/send' do
      protected!
      #Save Devotional to DB
      @devotional = Devotional.create(from: params[:from],subject: params[:subject], body: params[:body])
      #Send Saved Devotional to SMS Twilio
      Contact.all.each do |contact|
        client.messages.create(
          from: TWILIO_NUMBER,
          to: contact.phone_number,
          body: @devotional.body.to_s,
          media_url: 'http://devotionalbroadcast.com/images/daily-broadcast-header.png'
        )
      end
      redirect '/'
    end
    

    HTTP身份验证与此有关吗?我正在使用Sinatra的简单Auth,但我认为这不会引起问题。

    1 回复  |  直到 7 年前
        1
  •  0
  •   philnash    7 年前

    Twilio开发者布道者。

    我尝试从您的示例中加载URL,响应标题为:

    Date: Mon, 26 Feb 2018 05:57:03 GMT
    Content-Length: 0
    X-Content-Type-Options: nosniff
    Server: thin
    Via: HTTP/1.1 proxy10702
    Keep-Alive: 60
    

    没有 Content-Type 标题来告诉Twilio内容是什么。在这种情况下,我会尽量确保您的服务器发送的图像具有正确的MIME类型 image/png 看看这是否解决了问题。

    如果有帮助,请告诉我。