Gibbon/Mailchimp API 请求在兴趣分组内创建兴趣
Posted
技术标签:
【中文标题】Gibbon/Mailchimp API 请求在兴趣分组内创建兴趣【英文标题】:Gibbon/Mailchimp API request to create interests inside interest-groupings 【发布时间】:2016-04-17 16:50:43 【问题描述】:我正在使用Gibbon,Mailchimp 版本 2.2.1,我希望能够在兴趣组中创建兴趣。例如,我有订阅课程的用户。我的兴趣组是“课程”,该兴趣组内部的兴趣是“Foo课程”。
我希望能够添加在我网站的 CMS 中添加新类的功能,这将在 after_create
上发出 API 请求。
class Lesson < ActiveRecord::Base
after_create :create_class_on_mailchimp
def create_class_on_mailchimp
require 'mailchimp_service'
mailchimp = MailchimpService.new(self)
response = mailchimp.create_class
self.interest_id = response.id
self.save
end
end
class MailchimpService
def initialize(lesson)
@lesson = lesson
@list_id = ENV['MAILCHIMP_LIST_ID']
end
def create_class
GB.lists(@list_id).interest_categories(ENV['MAILCHIMP_CLASSES_CATEGORY_ID']).interests.create(
body:
name: 'foobar'
)
end
end
我不断收到此错误:
Gibbon::MailChimpError:the server responded with status 404 @title="Resource Not Found",
@detail="The requested resource could not be found.",
@body=
"type" =>"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/",
"title" =>"Resource Not Found",
"status" =>404,
"detail" =>"The requested resource could not be found.",
"instance" =>""
,
@raw_body="
\"type\": \"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/\",
\"title\":\"Resource Not Found\",
\"status\":404,
\"detail\":\"The requested resource could not be found.\",
\"instance\":\"\"
",
@status_code=404
这告诉我我没有使用正确的资源名称?在 Gibbon 的有限文档中似乎没有任何此类请求的文档,Mailchimp 似乎也没有考虑过。 Here 是 Mailchimp 文档的链接,该链接涵盖了兴趣分组内的兴趣请求,但是,似乎没有创建选项...只需阅读、编辑和删除。这对我来说似乎很愚蠢,因为我可以想象人们会想从 Mailchimp 仪表板以外的其他地方创建兴趣。
我已尝试使用name
、title
和interest_name
作为资源名称,但没有任何效果。我也尝试过使用 REST API 调用,但我收到了相同的响应。
我做错了什么,或者这真的是 Mailchimp 不提供的吗?如果是这样,那将是一个巨大的麻烦,因为我将创建许多我希望人们能够订阅的类,并且必须手动完成这一切将是一个主要痛苦.
【问题讨论】:
【参考方案1】:我很确定 POST 可以产生兴趣,尽管文档中似乎确实缺少它。可能发生的情况是您的列表 ID 或兴趣类别 ID 不正确。您可能想尝试使用 API Playground 来追踪这两个实体的确切 ID。
【讨论】:
感谢您的反馈。我直接在终端上玩了很多,以确保GB.lists(@list_id).interest_categories(ENV['MAILCHIMP_CLASSES_CATEGORY_ID']).interests
返回一个兴趣列表,据我所知,这部分工作正常。几个小时后,我将绝对确定这仍然会返回有效响应。
你是 100% 正确的。出于某种原因,我的 env 变量 MAILCHIMP_CLASSES_CATEGORY_ID
在我正在测试请求的控制台选项卡中未被识别。即使在多次重置控制台后,env 变量也没有显示,但会显示在单独的选项卡中在我的终端中......奇怪,我不知道为什么我必须关闭选项卡才能正确重新初始化所有内容,但是一旦我这样做了,请求就起作用了。
这很奇怪,但我很高兴你把它解决了!以上是关于Gibbon/Mailchimp API 请求在兴趣分组内创建兴趣的主要内容,如果未能解决你的问题,请参考以下文章
API 请求 | OkHttp |通过 okhttp 请求两个对象的 api 请求