1

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

我正在阅读railsapps.org关于学习 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 中,所以我知道它们是正确的。

有任何想法吗?

问候,杰夫

4

1 回答 1

0

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

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

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

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

于 2014-05-02T23:20:39.340 回答