用HTTParty在body中发送带有数组的POST请求。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用HTTParty在body中发送带有数组的POST请求。相关的知识,希望对你有一定的参考价值。
我试图通过Buttondown API创建新的订阅者。
api期望以下主体。
{
"email": "string",
"notes": "string",
"referrer_url": "string",
"tags": [
"string"
]
}
电子邮件字段是必须的,其他都是可选的。
我可以成功地创建一个新的订阅者,但是,我无法添加任何标签。但是,我无法添加任何标签。
我已经创建了一个名为 "marketing "的标签,并确认它的存在。
我像这样创建一个新的订阅者。
body = {
'email': params[:email],
'referrer_url': params[:referer],
'tags': ['marketing']
}
res = HTTParty.post(
'https://api.buttondown.email/v1/subscribers',
body: body,
headers: headers
)
我希望上面的方法能创建一个新的订阅者,并带有以下内容 营销 标签。但是,从响应来看,这个标签并没有进入记录。
{
"creation_date"=>"2020-04-22T16:06:22.114523Z",
"email"=>"user@example.com",
"id"=>"********-****-****-****-************",
"notes"=>"",
"referrer_url"=>"http://localhost:3000/",
"metadata"=>{},
"secondary_id"=>18,
"subscriber_type"=>"regular",
"source"=>"api",
"tags"=>[],
"utm_campaign"=>"",
"utm_medium"=>"",
"utm_source"=>""
}
我发送数组是否正确?我的POST请求是否正确?Buttondown文档中是否有任何内容表明我没有正确发送标签?
答案
作为"... 挑夫 说,我需要在标题中设置内容类型,并调用 to_json
身上的。
headers = {
...
'Content-Type' => 'application/json'
}
res = HTTParty.post(
'https://api.buttondown.email/v1/subscribers',
body: body.to_json,
headers: headers
)
以上是关于用HTTParty在body中发送带有数组的POST请求。的主要内容,如果未能解决你的问题,请参考以下文章