运行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中,所以我知道它们是正确的。
有什么想法吗?
此致 杰夫
答案 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密钥未知的响应。