我如何在不使用 Rails Gem 的情况下直接使用 Mailchimp API

Posted

技术标签:

【中文标题】我如何在不使用 Rails Gem 的情况下直接使用 Mailchimp API【英文标题】:How i can use Mailchimp API directtly without using Rails Gem 【发布时间】:2018-04-22 15:23:11 【问题描述】:

我正在使用 Rails 3.2.11 和 Ruby 1.9.3。我想为用户订阅

邮件黑猩猩。但是当我使用像(长臂猿和mailchimp_api)这样的宝石时。有

太多的依赖问题。 Mailchimp 开发者指南也帮不了我

much.我花了很多天但没有解决这些问题。

如何为订阅用户直接调用 mailchimp?

有什么帮助吗?

【问题讨论】:

你能描述一下你遇到的依赖问题吗? 你能详细说明一下吗?'存在太多依赖问题。' 是的,当我安装 gibbon 时,我需要将我的 ruby​​ 版本从 1.9.3 移动到 2.1.3。然后出现这个错误try_sass': uninitialized constant Haml::Util::Sass (NameError) 【参考方案1】:

用 Gibbon 解决您的依赖问题应该是小菜一碟:它只依赖于两件事:

    gem 'faraday', '>= 0.9.1' gem 'multi_json', '>= 1.11.0'

如果您无法使用其中每一个的最新版本,您可能还有其他问题。


至于直接使用 Mailchimp,他们的 developer guides 很好地指导您了解如何使用 OAuth2 为其他用户获取 API 令牌并解释可用的端点。然后,您只需要发出 HTTP 请求(例如,使用 Faraday v0.9.1 或更高版本)、解析响应(例如,使用 multi_json 1.11.0 或更高版本)并编写逻辑来处理错误。

如果您想更快地开始,您可以查看 Gibbon 的源代码。您甚至可以将整个 Gibbon 复制粘贴到您自己命名的 gem 中,并修改代码以不依赖这些依赖项。

【讨论】:

但是在我的本地开发之后,我需要在 heroku 上进行部署。所以复制粘贴不是一个好主意。【参考方案2】:

...当我安装 gibbon 时,我需要将我的 ruby​​ 版本从 1.9.3 移动到 2.1.3

您可以使用支持 Ruby 1.9.3 的早期版本的 Gibbon。看起来支持 Ruby 1.9.3 的最后一个版本是 Gibbon 1.2.1。

【讨论】:

以上是关于我如何在不使用 Rails Gem 的情况下直接使用 Mailchimp API的主要内容,如果未能解决你的问题,请参考以下文章

如何在不运行 rake spec 的情况下为 Rails rspec 测试准备测试数据库?

Rails - 如何在不更改页面和更新视图的情况下提交表单?

如何将Rails的静态页面打包成ruby gem?

如何在 Rails 5 上禁用咖啡脚本

如何在不使用表单的情况下从 Rails 应用程序发布到外部 url

Rails 5 和设计:如何在不更改默认策略的情况下禁用基于令牌的策略上的会话