【发布时间】:2013-09-11 23:14:08
【问题描述】:
我从一个开发团队收到了以下代码:
curl -u EMAILADDRESS:PASSWORD -d "sender=NAME <EMAILADDRESS>&message=[Invite Link]&collector=COLLECTOR&subject=Test Invite&footer=My Custom Text [Unsubscription Link]"
有人告诉我,上述工作正常。这就是我在 Ruby 1.9.3 中使用httparty gem 翻译的内容:
call= "/api/v2/emails/?survey=#{i}"
puts collector_final_id
url= HTTParty.post("https://www.fluidsurveys.com#{call}",
:basic_auth => auth,
:headers => { 'Content-Type' => 'application/x-www-form-urlencoded','Accept' => 'application/x-www-form-urlencoded' },
:collector => collector,
:body => {
"subject" => "Test Invite",
"sender" => "NAME <EMAILADDRESS>",
"message" => "[Invite Link]"
},
:footer => "My Custom Text [Unsubscription Link]"
)
除了:footer 和:collector 参数外,其中的所有内容都可以正常工作。它似乎根本不认识他们。
没有抛出任何错误,只是没有包含在我发送的实际电子邮件中。传入这两个参数时我做错了什么?
【问题讨论】:
-
你的 :body 参数后面没有逗号
-
我很抱歉 - 我只是把逗号去掉了,它确实存在于实际代码 sn-p 中。我已经编辑了帖子以反映这一点。
-
收集器值应该是 "COLLECTOR" 而不是收集器。它应该是一个字符串
-
你能告诉我你从哪里得到 basic_auth 的价值吗?值 auth 似乎没有在任何地方定义
-
auth是之前定义的,我只是包含了有问题的代码。auth工作正常。 API调用成功,只是提到的两个参数没有。COLLECTOR是开发团队定义的变量,在我的代码中等于collector。