问题标签 [gibbon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
291 浏览

heroku - Gibbon 无法在 Heroku 上打开 tcp 连接

阅读 Daniel Kehoe 的Learn Ruby on Rails一书。将教程成功发布到开发中的 MailChimp 列表。推送到heroku,并进行了测试。提交电子邮件地址以加入时事通讯时,日志中出现错误 -

2016-09-08T19:54:14.872341+00:00 app[web.1]:在 12 毫秒内完成 500 个内部服务器错误(ActiveRecord:0.0ms) 2016-09-08T19:54:14.872876+00:00 app[web. 1]: 2016-09-08T19:54:14.872878+00:00 app[web.1]: Gibbon::MailChimpError (无法打开到 key.api.mailchimp.com:443 的 TCP 连接 (getaddrinfo: 名称或服务不已知)@title=nil,@detail=nil,@body=nil,@raw_body=nil,@status_code=nil):2016-09-08T19:54:14.872879+00:00 app[web.1]:
app/ models/visitor.rb:10:in subscribe' 2016-09-08T19:54:14.872880+00:00 app[web.1]:
app/controllers/visitors_controller.rb:10:in `create'

关于如何排除故障的建议将不胜感激。

0 投票
1 回答
1139 浏览

ruby-on-rails - 不能对现有成员使用 upsert

我正在尝试使用我一直在使用的通用方法通过Gibbon 2.2.4为用户订阅 Mailchimp subscribe,然后不久我想添加一些额外的字段来跟踪他们进行的测验的结果。

我想将这些数据存储在 Mailchimp 上,因为我想管理我直接从 Mailchimp 仪表板发送的电子邮件。

我为处理订阅而创建的服务:

subscribe_to_quiz中,我正在为用户订阅我在 Mailchimp 中的 quiz_list。我在这里更新的字段的值是无关紧要的,但我认为它们很有解释性。当我尝试在 中运行 upsert 语句时send_quiz_results,出现以下错误:

我不知道为什么它不允许我这样做......它似乎引用了一个create语句,但提取的错误源引用了我的upsert语句。

我知道我正在为 Gibbon 使用相应的 PUT 动词,因为以下内容直接取自文档:

当然,body 仅在 create、update 和 upsert 调用中受支持。它们分别映射到 HTTP POST、PATCH 和 PUT 动词。

我不知道为什么这不起作用......我已经尝试取出其他字段,只是简单地放入我正在更新的字段。我还尝试直接从终端运行它,以确保没有重叠。

0 投票
1 回答
1129 浏览

ruby-on-rails - 如何在 Rails 中使用长臂猿宝石创建邮件黑猩猩列表?

我用 rails 3.2 和 ruby​​ 2.1.2 创建了一个 rails 应用程序。我使用长臂猿 gem来访问邮件黑猩猩 API 以创建/编辑/删除邮件黑猩猩列表以及管理订阅者。我无法使用长臂猿提供的方法创建新的黑猩猩邮件列表。但我能够获得已经创建的(邮件黑猩猩网络应用程序中的默认列表)列表。我想知道如何创建邮件黑猩猩列表。我在 github 页面中没有找到相同的示例。

0 投票
2 回答
1061 浏览

ruby-on-rails - MailChimp API v3 - 通过电子邮件获取成员

我正在使用 MailChimp API v1/v2。在那个版本中,我可以通过向APImember-info提供他们的电子邮件来获取多个成员member-info

现在,我想升级到 v3,但是,我无法member-info在 v3 中找到等效的 API 端点。我无法使用/batches操作,因为我将即时调用 API 并向我的用户显示响应。

任何指示/建议?

0 投票
1 回答
144 浏览

ruby-on-rails - 如何使用 Gibbon (rails wrapper) 直接访问 Mailchimp 上的 body 变量

我们正在尝试检查列表中的特定成员是否已订阅或取消订阅。我们尝试了

这个。然而,代码的哈希返回是用“Gibbon::Response”包装的。我怎样才能直接访问哈希本身?或者甚至可以访问它?

0 投票
1 回答
604 浏览

jquery - Ruby on Rails - 向 Mailchimp 提交电子邮件表单时事通讯

我正在尝试提交一封电子邮件,该电子邮件将进入我创建的 Mailchimp 列表。问题是,当我在生产环境中单击订阅时,我会200 OK在控制台中收到一条消息:

但是当我签入我的列表时,该电子邮件没有出现在我的联系人列表中。

顺便说一句,我使用 Ruby 2.3.1、Rails 5.1.2 和 Figaro 1.1.1 进行 ENV

这就是我在我的home.html.erb

routes.rb

使用 Gibbon 与 Mailchimp 进行 API 连接:

并将 AJAX 的 JS 脚本集成到application.js

我错过了什么吗?将不胜感激任何建议。

- - 更新 - -

订阅控制器:

----更新2----

更新dataapplication.js

错误日志:

0 投票
2 回答
2082 浏览

ruby-on-rails - Rails 无法识别我的应用程序/服务(未初始化的常量)

我被困住了,即使我找到了一些关于这个问题的主题,我也没有找到任何解决方案。

如果我的“Packer”注册到我们的时事通讯,我正在尝试添加对 Mailchimp 的订阅(“Packer”是一种“用户”-“用户”只有设计参数,“包装器”有其余参数)

该错误是一个未初始化的常量,似乎是因为 rails 无法识别我的服务。

这是我的#app/models/packer.rb

和我的 #app/services/subscribe_to_newsletter_service.rb

查看不同的解决方案,我还在#config/application.rb 中添加了该行

当我做一个 Rails 控制台时 - ActiveSupport::Dependencies.autoload_paths 结果包括 /app/services

我还尝试了“Spring stop”,重新启动服务器并捆绑。

如果您有任何想法,那将非常有帮助!非常感谢

0 投票
1 回答
370 浏览

ruby - 使用 Ruby 和长臂猿从 MailChimp 中检索列表数据

我在 MailChimp 中创建了一个测试列表,并添加了 2 个订阅者。

我创建了一个 Ruby 脚本,它将在gibbon gem.

问题是我是 Ruby 的初学者,我仍然对语法没有信心。

这是代码

当我在调试器中使用 进行测试时mailchimp.body,我可以看到我得到了响应,但它是散列的并且包含大量信息,而我只需要获取 email_address。

如何挖掘或遍历此哈希并仅返回 email_address ?

0 投票
0 回答
145 浏览

ruby - Gibbon 成员删除后,我不能再添加他了

我不知道这是否与 gem/api 相关的问题或实现,但是从列表中删除成员后,我无法再次添加他。我得到那个

我正在使用以下方法从列表中添加成员:

0 投票
1 回答
175 浏览

ruby-on-rails - Gibbon GEM: API wrapper for MailChimp's API - How to implement with a DELETE method

The Gibbon Gem seems quite versatile. I managed to use it and create GET requests. For example, I am able to do a GET request and get all information on an order on Mailchimp. But I somehow can't make a request with the method DELETE.

So here is my code:

The result is a GET request and a huge JSON with all information on the order. If I run the exact same request again, I get the same information back (even though I wanted to delete it)

Anyone have a good idea?