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

Twilio Error - 12300 on Sinatra App Deployed on Heroku

我在使用 Heroku 部署的 Sinatra 应用程序上使用 Twilio 时遇到一个奇怪的问题。我有一张未决票,但想听取社区对某个问题的意见。当我为数据库中的所有联系人创建当天的第一个彩信时,我收到此错误:

ERROR 12300 Twilio is unable to process the Content-Type of the provided URL. Please see the Twilio Markup XML Documentation for more information on valid Content-Types.

我在这段代码发送的 55 条消息中有 30 条收到了这个消息。但是,如果我再次 运行 相同的提交,通过相同的方法,我得到 0 个错误。这一切都过去了。我超级困惑。我唯一能想到的是 Twilio 在初始请求中检索 IMG_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 AUTH 与它有什么关系吗?我正在使用 Sinatra 的简单 Auth,但我认为这不会导致问题。

这里是 Twilio 开发人员布道者。

我尝试从那里的示例中加载 URL,响应 header 是:

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-Typeheader告诉Twilio内容是什么。我会尝试确保您的服务器正在发送具有正确 MIME 类型的图像,在这种情况下 image/png 并查看是否可以解决问题。

如果有帮助请告诉我。