邮件黑猩猩CURL - (23)写身体失败

时间:2016-04-26 21:29:02

标签: curl mailchimp

我正在尝试将一个成员添加到我的邮件黑猩猩列表(API 3.0)中。我已经按照文档和教程来写了这封信。经过多次调试后,我遇到了这个问题。

这是我的要求(根据反馈编辑):

curl -H "Authorisation:apikeyXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us12" -d "{\"email_address\":\"abc@xyz.com\",\"status\":\"subscribed\"}" "https://us12.api.mailchimp.com/3.0/lists/a1b2c3d4e5/members" | json

这是终端返回的内容

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   193  100   193    0     0    438      0 --:--:-- --:--:-- --:--:--   439
(23) Failed writing body

所以我猜这里有两件让我困惑的事情:

-bash: json: command not found

(23) Failed writing body

2 个答案:

答案 0 :(得分:1)

你应该在网址|的末尾有一个管道/members|json吗?

我猜它应该是斜线/而不是/members/json

curl -H "Authorisation:apices<APIKEY>" -d "{"email_address":"test@test.com","status":"subscribed"}" https://us12.api.mailchimp.com/3.0/lists/<LIST-ID>/members/json

如果这是正确的,请尝试用双引号"

包装网址
curl -H "Authorisation:apices<APIKEY>" -d "{"email_address":"test@test.com","status":"subscribed"}" "https://us12.api.mailchimp.com/3.0/lists/<LIST-ID>/members|json"

您可能需要使用单引号'来包装数据

curl -H "Authorisation:apices<APIKEY>" -d '{"email_address":"test@test.com","status":"subscribed"}' "https://us12.api.mailchimp.com/3.0/lists/<LIST-ID>/members|json"

或者转义那些内部双引号\"而不是

 curl -H "Authorisation:apices<APIKEY>" -d "{\"email_address\":\"test@test.com\",\"status\":\"subscribed\"}" "https://us12.api.mailchimp.com/3.0/lists/<LIST-ID>/members|json"

如果您没有抓住@Dagon's comment,我会用真实的替换您所有的引号"

答案 1 :(得分:0)

对此特定问题的解决方法是&#34;授权&#34;的拼写。 Mailchimp API似乎需要美国拼写,即#34;授权&#34; - 使用&#34; Z&#34;。

(我也不需要&#34; | json&#34;)