用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
    )

本文来自投稿,不代表运维实战侠立场,如若转载,请注明出处:https://www.shizhanxia.com/462.html

(0)
上一篇 2022年6月29日 下午3:56
下一篇 2022年6月29日 下午3:56

相关推荐

发表评论

登录后才能评论