首页 文章

Mailchimp错误400请求,无法发送用户列表

提问于
浏览
0

我正在与Mailchimp合作,我想在我的列表中发送一个电子邮件地址,到目前为止我已经使用Volley完成了这个:

public void suscribeMailChamp(){
    String listid = "listID";
    String url = "https://us16.api.mailchimp.com/3.0/lists/" + listid + "/members/";
    // Instantiate the RequestQueue.
    RequestQueue queue = Volley.newRequestQueue(this);

    StringRequest sr = new StringRequest(Request.Method.POST,url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            //
            Toast.makeText(MainActivity.this , "success" , Toast.LENGTH_SHORT).show();
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            Toast.makeText(MainActivity.this , error.toString() , Toast.LENGTH_SHORT).show();
        }
    }){
        @Override
        protected Map<String,String> getParams(){
            Map<String,String> params = new HashMap<String, String>();
            params.put("email_address","testmailchimp@gmail.com");
            params.put("status","unsubscribed");
            return params;
        }

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            Map<String,String> params = new HashMap<String, String>();
            params.put("Content-Type","application/x-www-form-urlencoded");
            params.put("Authorization" , "apikey <here my api key>");
            return params;
        }
    };
    queue.add(sr);
}

但我收到错误400:

https://us16.api.mailchimp.com/3.0/lists/b9a5943047/members/的意外响应代码400

这是一个用于故障排除的链接,但我无法得到错误:

http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/

1 回答

  • 1

    你检查过链接中的错误了吗?它说

    {  
       "type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/",
       "title":"API Key Missing",
       "status":401,
       "detail":"Your request did not include an API key.",
       "instance":"924c81cc-90e9-498d-b0fd-c7b54cba207f"
    }
    

    这意味着您没有(或正确)在请求中发送邮件黑猩猩的API密钥 . 只需在 Volley 请求的参数中添加mailChimp API密钥即可


    因此,您发送API密钥的方式是这样的

    params.put("Authorization", "Basic "+Base64.encodeToString(("apikey:"+apiKey).getBytes("UTF-8"),Base64.DEFAULT))
    

相关问题