Mailchimpに特定のリスト(固有のlistidを持つ)からすべてのサブスクライバの電子メールアドレスを取得しようとしています。pythonを使用して、mailchimpの特定のリストからサブスクライバのすべての電子メールアドレスを取得する
本文を印刷すると、出力は以下のようにjson形式になります。
私はjsonを辞書に変換しようとしています。
辞書に変換された後、私はすべてのemail_addressを取得したいと思います。
すべてのメールアドレスを取得したら、md5を使用して暗号化します。
しかし、私は 'TypeError:expected string or buffer'というエラーが発生します。
私は本当にPythonには新しく、解決しようとしましたができませんでした。私の質問を見てくれてありがとう。
/* My python code */
params = {
'apikey': 'xyz',
'listId': 'abc' }
config = MailChimpConfig()
endpoint = "https://us5.api.mailchimp.com/3.0/lists/'listId'/members?
apikey='apikey'&status=subscribed"
while True:
response = requests.get(endpoint, auth=('apikey', config.apikey),
params=params, verify=False)
try:
response.raise_for_status()
body = response.json
dict = json.loads(body)
print(dict.members[0].email_address)
break
except requests.exceptions.HTTPError as err:
print "Error: {} {}".format(str(response.status_code), err)
print json.dumps(response.json(), indent=4)
break
except ValueError:
print "Cannot decode json, got %s" % response.text
break
/* end of my python code */
/* If I print body, the output is in json format as below:*/
{
- members: [
- {
id: "",
email_address: "[email protected]",
etc:""
},
- {
id: "",
email_address: "[email protected]",
etc:""
}
/* end of json format */
* Aside *:あなたにはお試しくださいあなたのプログラムの変数として組み込み関数の名前を指定します。 'dict'は辞書オブジェクトを構築するためのファクトリ関数です。その名前を選んだ場合は、その後に 'dict()'を呼び出すことはできません。 –
また、 '-'はJSONテキストに文字通り存在していますか?もしそうなら、私はそれが有効なJSONだとは思わない。 –
APIのv3を使用している場合、サブスクライバのIDは電子メールアドレスのmd5 hasです。 – TooMuchPete