首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Mailimpp3.0API和Gibbon [rails]检查成员是否存在

使用Mailimpp3.0API和Gibbon [rails]检查成员是否存在
EN

Stack Overflow用户
提问于 2018-05-05 23:11:29
回答 1查看 1.4K关注 0票数 1

我正在使用mailchimp 3.0来检查邮件地址是否在邮件列表中。我正在使用Gibbon宝石,如果电子邮件在列表上,我的代码工作良好。

代码语言:javascript
运行
复制
list_id = ENV['MAILCHIMP_LIST_ID']
@gibbon = Gibbon::Request.new(api_key: ENV['mailchimp_api_key'], symbolize_keys: true)
@member_id = Digest::MD5.hexdigest(params[:user_Email]
@member_info = @gibbon.lists(list_id).members(@member_id).retrieve.body[:status]
 => "subscribed"

但是,如果电子邮件不是我收到的列表的一部分

代码语言:javascript
运行
复制
@member_id_2 = "emailnot@inlist.net"

@member_info = @gibbon.lists(list_id).members(@member_id_2).retrieve.body[:status]
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=>"XXXXXXX4a76-ae0e-35406fc75c3f"}, @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\":\"XXXXXXXX07c9-4a76-ae0e-35406fc75c3f\"}", @status_code=404

如果电子邮件存在,如何检查我的代码?我能写一个查找404响应的if else吗?

代码语言:javascript
运行
复制
    if @member_info == "subscribed" (member is present)
      @gibbon.lists(list_id).members(@member_id).update(body: {interests: {'interest_group': true}})
    else
      @gibbon.lists(list_id).members.create(body: { email_address: params[user_Email], status: 'subscribed', double_optin: false, interests: {'interest_group': true}})
    end

404错误导致我的应用程序崩溃,它从不创建新的订阅服务器。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-06 05:35:38

这样啊,原来是这么回事!

我用了一个开始/救援来拯救这个方法并完成了这些步骤。

代码语言:javascript
运行
复制
 list_id = ENV['MAILCHIMP_LIST_ID']
 gibbon = Gibbon::Request.new(api_key: ENV['mailchimp_api_key'], symbolize_keys: true)
  member_id = Digest::MD5.hexdigest(params[:userEmail])
begin
 member_info = gibbon.lists(list_id).members(member_id).retrieve.body[:status]
 gibbon.lists(list_id).members(member_id).update(body: {interests: {'interest_id': true}})

rescue
 gibbon.lists(list_id).members.create(body: { email_address: params[:userEmail], status: 'subscribed', double_optin: false, interests: {'interest_id': true}})
end

redirect_to root_path, :notice => "Congrats! 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50194825

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档