Mailchimp API v3 授权
Mailchimp API v3 authorisation
我的主要目标是将用户添加到列表中。我现在正在玩这个术语中的 curl,以了解使用 MailChimp API.
的概念
我已完成将用户添加到列表的请求:
curl -i -H "Content-Type: application/json" -d '{"apikey" : "60dd1f3aaa977bf1zzza159yyye93exx-us11","email_address": "urist.mcvankab@freddiesjokes.com","status":"subscribed","merge_fields":{"FNAME":"Urist","LNAME":"McVankab"}}' https://us11.api.mailchimp.com/3.0/lists/ant6308990/members/
这个请求returns:
HTTP/1.1 401 Unauthorized
Server: nginx
Content-Type: application/problem+json; charset=utf-8
Content-Length: 210
Link:<https://us11.api.mailchimp.com/schema/3.0/ProblemDetailDocument.json>; rel="describedBy"
Date: Fri, 14 Aug 2015 17:22:05 GMT
Connection: close
{"type":"http://kb.mailchimp.com/api/error-docs/401-api-key-missing","title":"API Key Missing","status":401,"detail":"Your request did not include an API key.","instance":"17eb4090-13e4-47ff-aee1-ca62281fe547"}
我想知道如何获得授权。试图阅读 API 文档 - 没有找到。有谁知道如何设计授权请求?
谢谢。
请按照此处的步骤操作:
- 创建您的 base64 编码 api 密钥:base64_encode(您的 api 用户 name:api 密钥)
- 在您的 CURL 请求中使用基本身份验证作为
curl -i -H "Content-Type: application/json" -H "Authorization:Basic your base64 encoded string" https://us11.api.mailchimp.com/3.0/
- 请注意,您必须使用 "Basic"
这个词
因此,在您的所有 curl 请求中添加身份验证 header 以在发出任何其他请求之前授权您自己。所以在你的情况下尝试以下
curl -i -H "Content-Type: application/json"
-H "Content-Type: application/json"
-H "Authorization:Basic your base64 encoded string"
-d '{"apikey" : "60dd1f3aaa977bf1zzza159yyye93exx-us11","email_address": "urist.mcvankab@freddiesjokes.com","status":"subscribed",
"merge_fields":{"FNAME":"Urist","LNAME":"McVankab"}}' https://us11.api.mailchimp.com/3.0/lists/ant6308990/members
您可以使用 cURL 的 --user
参数,如 MailChimp 的 API v3 documentation.
所示
这是使用 api 密钥
在 v3 中进行 PHP/cURL 身份验证的基本代码
$username = "tcgumus";
//it can be anything
$password = "API KEY";
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "http://us10.api.mailchimp.com/3.0/");
//make sure your dc is correct
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
print_r($output);
我的主要目标是将用户添加到列表中。我现在正在玩这个术语中的 curl,以了解使用 MailChimp API.
的概念我已完成将用户添加到列表的请求:
curl -i -H "Content-Type: application/json" -d '{"apikey" : "60dd1f3aaa977bf1zzza159yyye93exx-us11","email_address": "urist.mcvankab@freddiesjokes.com","status":"subscribed","merge_fields":{"FNAME":"Urist","LNAME":"McVankab"}}' https://us11.api.mailchimp.com/3.0/lists/ant6308990/members/
这个请求returns:
HTTP/1.1 401 Unauthorized
Server: nginx
Content-Type: application/problem+json; charset=utf-8
Content-Length: 210
Link:<https://us11.api.mailchimp.com/schema/3.0/ProblemDetailDocument.json>; rel="describedBy"
Date: Fri, 14 Aug 2015 17:22:05 GMT
Connection: close
{"type":"http://kb.mailchimp.com/api/error-docs/401-api-key-missing","title":"API Key Missing","status":401,"detail":"Your request did not include an API key.","instance":"17eb4090-13e4-47ff-aee1-ca62281fe547"}
我想知道如何获得授权。试图阅读 API 文档 - 没有找到。有谁知道如何设计授权请求?
谢谢。
请按照此处的步骤操作:
- 创建您的 base64 编码 api 密钥:base64_encode(您的 api 用户 name:api 密钥)
- 在您的 CURL 请求中使用基本身份验证作为
curl -i -H "Content-Type: application/json" -H "Authorization:Basic your base64 encoded string" https://us11.api.mailchimp.com/3.0/
- 请注意,您必须使用 "Basic" 这个词
因此,在您的所有 curl 请求中添加身份验证 header 以在发出任何其他请求之前授权您自己。所以在你的情况下尝试以下
curl -i -H "Content-Type: application/json" -H "Content-Type: application/json" -H "Authorization:Basic your base64 encoded string" -d '{"apikey" : "60dd1f3aaa977bf1zzza159yyye93exx-us11","email_address": "urist.mcvankab@freddiesjokes.com","status":"subscribed", "merge_fields":{"FNAME":"Urist","LNAME":"McVankab"}}' https://us11.api.mailchimp.com/3.0/lists/ant6308990/members
您可以使用 cURL 的 --user
参数,如 MailChimp 的 API v3 documentation.
这是使用 api 密钥
在 v3 中进行 PHP/cURL 身份验证的基本代码$username = "tcgumus";
//it can be anything
$password = "API KEY";
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "http://us10.api.mailchimp.com/3.0/");
//make sure your dc is correct
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
print_r($output);