Curl Mailchimp API v3授权

Curl Mailchimp API v3授权,curl,mailchimp,Curl,Mailchimp,我的主要目标是向列表中添加一个用户。我现在正在研究这个术语中的curl,以了解使用MailChimp API的概念 我已完成向列表中添加用户的请求: curl -i -H "Content-Type: application/json" -d '{"apikey" : "60dd1f3aaa977bf1zzza159yyye93exx-us11","email_address": "urist.mcvankab@freddiesjokes.com","status":"subscribed",

我的主要目标是向列表中添加一个用户。我现在正在研究这个术语中的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/
此请求返回:

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"}
HTTP/1.1 401未经授权
服务器:nginx
内容类型:应用程序/问题+json;字符集=utf-8
内容长度:210
链接:;rel=“描述人”
日期:2015年8月14日星期五17:22:05 GMT
连接:关闭
{“类型”:http://kb.mailchimp.com/api/error-docs/401-api-key-missing“,”标题“:”API密钥丢失“,”状态“:”401“,”详细信息“:”您的请求未包含API密钥“,”实例“:”17eb4090-13e4-47ff-aee1-ca62281fe547”}
我想知道如何获得授权。试图阅读API文档-结果很短。有人知道如何设计授权请求吗


谢谢。

请按照以下步骤操作:

  • 创建base64编码的api密钥:base64_encode(api用户名:api密钥)
  • 在CURL请求中使用基本身份验证
    
    curl -i -H "Content-Type: application/json" -H "Authorization:Basic your base64 encoded string" https://us11.api.mailchimp.com/3.0/
    
  • 请注意,您必须使用“基本”一词
  • 因此,在您的所有curl请求中,添加身份验证头以在发出任何其他请求之前对自己进行授权。因此,在您的情况下,请尝试以下方法

    
    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

  • 请按照以下步骤操作:

  • 创建base64编码的api密钥:base64_encode(api用户名:api密钥)
  • 在CURL请求中使用基本身份验证
    
    curl -i -H "Content-Type: application/json" -H "Authorization:Basic your base64 encoded string" https://us11.api.mailchimp.com/3.0/
    
  • 请注意,您必须使用“基本”一词
  • 因此,在您的所有curl请求中,添加身份验证头以在发出任何其他请求之前对自己进行授权。因此,在您的情况下,请尝试以下方法

    
    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上所示。

    您可以使用cURL的
    --user
    参数,如MailChimp上所示。

    这是v3中带有api键的PHP/cURL auth的基本代码

    $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);   
    

    这是v3中带有api键的PHP/cURL auth的基本代码

    $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);   
    

    没有得到193105是什么。另外,您忘记了“\”,因为您在curl命令中使用了换行符。是的,您是对的。这是我的错误,请删除193105。没有得到193105是什么。另外,您忘记了“\”,因为您在curl命令中使用了换行符。是的,您是对的。这是我的错误,请删除193105。