Ruby on rails Gibbon/Mailchimp API请求在利益集团内部创建利益

Ruby on rails Gibbon/Mailchimp API请求在利益集团内部创建利益,ruby-on-rails,request,mailchimp,mailchimp-api-v3.0,gibbon,Ruby On Rails,Request,Mailchimp,Mailchimp Api V3.0,Gibbon,我正在使用Mailchimp的2.2.1版,我希望能够在一个兴趣组中创建一个兴趣。例如,我有订阅类的用户。我的兴趣组是“课程”,而该兴趣组中的一个兴趣组是“Foo课程” 我希望能够在我的站点的CMS中添加一个新类,这将在创建后在上发出API请求 class Lesson < ActiveRecord::Base after_create :create_class_on_mailchimp def create_class_on_mailchimp require 'ma

我正在使用Mailchimp的2.2.1版,我希望能够在一个兴趣组中创建一个兴趣。例如,我有订阅类的用户。我的兴趣组是“课程”,而该兴趣组中的一个兴趣组是“Foo课程”

我希望能够在我的站点的CMS中添加一个新类,这将在创建后在
上发出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的有限文档中似乎没有任何关于此类请求的文档,Mailchimp也没有对此进行检查。是一个指向Mailchimp文档的链接,该链接用于查看兴趣分组中的兴趣请求,但是,似乎没有创建选项。。。只需阅读、编辑和删除。这在我看来似乎很愚蠢,因为我可以想象人们会想从Mailchimp的仪表盘以外的其他地方创造兴趣

我尝试使用
name
title
interest\u name
作为资源名称,但都不起作用。我也尝试过使用RESTAPI调用,但收到了相同的响应


是我做错了什么,还是这真的是Mailchimp没有提供的东西?如果是这样的话,那将是一个巨大的麻烦,因为我将创建许多我希望人们能够订阅的类,而必须手动完成这一切将是一个巨大的痛苦。

我非常肯定POST工作可以创造兴趣,尽管文档中似乎没有它。可能发生的情况是,您的列表ID或兴趣类别ID不正确。您可能希望尝试使用跟踪这两个实体的确切ID

谢谢你的反馈。我在终端上直接玩了很多次,以确保
GB.lists(@list_id).interest_categories(ENV['MAILCHIMP_CLASSES_CATEGORY_id'))。interest
返回一个兴趣列表,就我所记得的,该部分工作正常。几小时后,我会绝对确定这仍然是一个有效的回复。你是100%正确的。出于某种原因,在我测试请求的控制台选项卡中,没有识别出我的env变量
MAILCHIMP\u CLASSES\u CATEGORY\u ID
。即使在多次重置控制台后,env变量也不会显示,但会显示在我的终端的单独选项卡中。。。奇怪的是,我不知道为什么我必须关闭该选项卡才能使所有内容正确地重新初始化,但一旦我关闭了,请求就成功了。这很奇怪,但我很高兴你解决了它!
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