将 mailchimp curl 请求转换为 python 请求

Convert mailchimp curl request to python request

我能够 运行 curl 成功但无法使用 python 请求 mailchimp API.It 给出错误 like urllib2.HTTPError: HTTP Error 401: Unauthorized

CURL

curl --request POST \
--url 'https://us9.api.mailchimp.com/3.0/lists' \
--user 'anystring:6a983664930fc8ba1eecdsdf334344f40-us9' \
--header 'content-type: application/json' \
--data '{"name":"My test","contact":{"company":"Cool","address1":"Awesome place","city":"Lanka","state":"MH","zip":"43472","country":"IN","phone":""},"permission_reminder":"You'\''re receiving this email because you signed up.","campaign_defaults":{"from_name":"VD","from_email":"hey@sdfsdf.com","subject":"","language":"en"},"email_type_option":true}' \
--include

Python 请求:

import urllib2
import json
import requests
url = 'https://us9.api.mailchimp.com/3.0/lists/'

all_params={"user":"my_username:6a983664930fc8ba1eecd1d5d68f4f40-us9",
           "name":"My test",
           "contact":{"company":"Cool","address1":"Awesome place","city":"Lanka","state":"MH","zip":"43472","country":"IN","phone":""},"permission_reminder":"You'\''re receiving this email because you signed up.","campaign_defaults":{"from_name":"VD","from_email":"hey@sdfsdf.com","subject":"","language":"en"},
           "email_type_option":'true'}

post_data = urllib2.quote(json.dumps(all_params))
headers = {'Content-Type': 'application/json'}
request = urllib2.Request(url, post_data, headers) 
response = urllib2.urlopen(request)

我已经提到 但没有成功。

我已经解决了。这是数据中心 URL 的问题。我使用 us9.api... 而不是 us6.api.mailchimp.com/3.0/lists 因为我的帐户是在 us6 下创建的。因此,我需要使用数据中心,我的帐户已根据请求在 URL 中注册。