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

时间:2018-02-22 13:05:25

标签: ruby heroku sinatra twilio

我在使用Heroku部署的Sinatra应用程序上使用Twilio时遇到了一个奇怪的问题。我有一张开放票,但希望得到社区对问题的意见。当我为数据库中的所有联系人创建当天的第一个MMS时,我收到此错误:

  

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

我在此代码发送的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,但我不认为这会导致问题。

1 个答案:

答案 0 :(得分:0)

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,看看是否能解决问题。

让我知道这是否有帮助。