Python と Constant Contact API を使用して、新しい連絡先を Constant Contact にプッシュし、リストに追加しようとしています。これまでのところ、次のことを試しました。
import requests
url = 'https://api.cc.email/v3/contacts'
url_completed = url + '?api_key=' + api_key
post_request = {
"email_address": {
"address": "abc123@gmail.com"
},
"first_name": "First",
"last_name": "Last",
"create_source": "Account",
"list_memberships": ["xxxxxxxxx"]
}
headers = {
'Authorization': 'Bearer xxxxxxx',
'content_type': 'application/json'
}
resp = requests.post(url_completed, data=post_request, headers=headers)
print(resp.raise_for_status())
しかし、これを実行するとエラーが発生します401 Client Error: Unauthorized for url: https://api.cc.email/v3/contacts?api_key=xxxxxxx
このエラーが発生するのはなぜですか? これを正しく行ったことを確認するために、もう少し背景情報を確認するために、Constant Contact開発ポータルにアクセスして、新しいアプリケーションを作成しました。URLに挿入したAPIキーと、ベアラートークンであると想定したシークレットを取得したので、そこに置き換えました。また、OAuth 認証後にペイロードをテストできる Constant Contact リファレンス ドキュメント UI を使用してペイロードをテストし、それらは成功しました。具体的には、この endpointを使用しています。