在Rails中使用Mailchimp时无效的URI错误

时间:2014-05-02 17:19:37

标签: ruby-on-rails railsapps

运行OSX Mavericks,ruby 2.1.1p76(2014-02-24修订版45161)[x86_64-darwin13.0],rvm 1.25.23(master)和rails-4.1.0(据称)

我正在阅读railsapps.org上的learning rails书籍我已经完成了mailchimp电子邮件列表代码的实现,当我在表单上按提交时,我收到以下错误:

URI::InvalidURIError at /visitors
the scheme https does not accept registry part: us8'.api.mailchimp.com (or bad hostname?)

我的调试屏幕似乎表明它在通话中失败了

result = mailchimp.lists.subscribe({
  :id => Rails.application.secrets.mailchimp_list_id,
  :email => {:email => self.email},
  :double_optin => false,
  :update_existing => true,
  :send_welcome => true
})

我的API密钥和列表ID都硬编码到secrets.yml中,所以我知道它们是正确的。

有什么想法吗?

此致 杰夫

1 个答案:

答案 0 :(得分:0)

错误消息表明用于联系Mailchimp服务器的URL格式不正确。

Gibbon gem构建对Mailchimp服务器的HTTPS请求,并使用httparty gem发出HTTPS请求。我们可以确信Gibbon按预期工作。您可以查看Gibbon issues进行确认;我刚刚做了,没有看到像你这样的问题。

所以我们知道Gibbon正在工作,我们可以假设learn-rails教程应用程序中的代码有效(因为没有其他人报告过这个问题)。那么问题的原因是什么呢?我的猜测是你的API密钥不正确。它可能有一个不属于的额外单引号。我猜测有关API密钥的事情阻止了Gibbon形成正确的URL字符串。

您可以通过输入格式正确但错误的API密钥进行诊断。而不是URL错误应该从Mailchimp服务器获得您的API密钥未知的响应。