Marketo API и Python, сбой почтового запроса

Мы пытаемся написать небольшую библиотеку для взаимодействия с вашим API с помощью Python. Мы попытались протолкнуть лид с помощью cURL, и все прошло успешно:

1.- Получите токен OAuth:

curl "https://700-HZF-887.mktorest.com/identity/oauth/token?grant_type=client_credentials&client_id=45811e23-3223-4cc4-811e-e00f0000acc8&client_secret=000000000000000000000"

Ответ:

{"access_token":"00000000000000000aaaaaaaaaaaaaaa:sj","token_type":"bearer","expires_in":1895,"scope":"[email protected]"}

2.- Создать/обновить лид:

curl -H 'Content-Type: application/json' -H 'Authorization: Bearer 00000000000000000aaaaaaaaaaaaaaa:sj' -d '{"action": "createOnly", "input": [{"LastName": "LastNameTest", "email": "[email protected]", "FirstName": "TestName", "MobilePhone": "12345"}]}' https://700-HZF-887.mktorest.com/rest/v1/leads.json

Эта последняя команда отвечает успешно, и лид появляется на панели инструментов Marketo. Все идет нормально.

Мы пытаемся добиться того же самого в Python, используя библиотеку запросов:

Сначала мы создаем два словаря, полезную нагрузку и заголовки:

payload = {'action': 'createOnly', 'input': [{'email': email, 'FirstName': first_name, 'LastName': last_name, 'MobilePhone': phone}]}

headers = {'Content-type': 'application/json', 'Authorization:': 'Bearer ' + str(token['access_token'])}

И затем мы запускаем почтовый запрос:

base_url = 'https://700-HZF-887.mktorest.com/rest/v1/leads.json'

response = requests.post(base_url, data=payload, headers=headers)

Где переменная токена — это список, который содержит токен доступа, полученный ранее в коде. Когда я запускаю код, я получаю следующее:

Headers: {'Content-type': 'application/json', 'Authorization:': 'Bearer f020000-0000-4001-a00d-c040000d0000:dw'}
Payload: {'action': 'createOnly', 'input': [{'LastName': 'testname', 'email': '[email protected]', 'FirstName': 'testfirstname', 'MobilePhone': '12345'}]}
Response: {"requestId":"3000#147f4860000","success":false,"errors":[{"code":"600","message":"Access token not specified"}]}

Знаете ли вы, почему я получаю код: 600 Токен доступа не указан в качестве ответа, когда я думаю, что действительно добавляю токен в свой запрос?


person tokenizer_fsj    schedule 20.08.2014    source источник


Ответы (1)


В заголовке авторизации есть лишний ":". Удалите его, и вы должны быть хорошими.

person Bryce Drennan    schedule 10.09.2014