#python #constantcontact
Вопрос:
Я пытаюсь использовать Python и API постоянных контактов, чтобы отправлять новых контактов в Постоянный контакт и добавлять их в список. До сих пор я пробовал следующее:
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
Почему я получаю эту ошибку? Для получения дополнительной информации, просто чтобы убедиться, что я сделал это правильно, я зашел на портал разработчиков постоянных контактов и создал новое приложение. Он дал мне ключ API, который я вставил в URL-адрес, и Секрет, который, как я предположил, был токеном на предъявителя, поэтому заменил его там. Я также протестировал полезную нагрузку, используя пользовательский интерфейс справочной документации по постоянным контактам, который позволяет тестировать полезную нагрузку после аутентификации OAuth, и это удалось. В частности, я использую эту конечную точку.
Комментарии:
1. 401: Несанкционированный пример сообщения об ошибке: Используемый маркер доступа недействителен. Описание: Предоставленный вами маркер доступа или ключ API недействителен или срок его действия истек. Действие: Пожалуйста, предоставьте действительный маркер доступа или используйте поток OAuth для создания нового маркера. Это с веб-сайта «constantcontact.com». Я попытался создать учетную запись, чтобы посмотреть, смогу ли я решить проблему, но для этого требовалось подписаться на деньги.
Ответ №1:
401 означает, что «маркер доступа недействителен». Скорее всего, вы должны использовать не ключ API, предоставляемый приложением, а выделенный токен доступа, предоставляемый потоком OAuth 2.0. Подробнее об авторизации OAuth читайте здесь.