Отправка запроса в Typeform не выполнена из-за неверной полезной нагрузки - PullRequest
0 голосов
/ 04 ноября 2019

Я пытался отправить POST-запрос на typeform , но продолжаю получать следующий вывод:

{"code":"INVALID_PAYLOAD"}

Я пробовал следующее, но мне не удалось завершитьзапрос. Использование заголовков не дало никакого другого результата.

Как бы я правильно отформатировал свою полезную нагрузку?

import requests
import time

epochTime = int(time.time())
token = requests.get("https://typeformtutorial.typeform.com/app/form/result/token/aA7Vx9/default")

data = {
    "signature": token,
    "form_id": "aA7Vx9",
    "landed_at": epochTime,
    "answers": [
        {
            "field": {
                "id": "42758279",
                "type": "yes_no"
            },
            "type": "boolean",
            "boolean": True
        },
        {
            "field": {
                "id": "42758410",
                "type": "short_text"
            },
            "type": "text",
            "text": "Hi"
        }
    ]
}
r = requests.post("https://typeformtutorial.typeform.com/app/form/submit/aA7Vx9",
    data=data)
print(r.text) #.... INVALID_PAYLOAD

1 Ответ

1 голос
/ 04 ноября 2019

Кажется, что у вас есть две проблемы с вашим кодом:

во-первых, ваш ключ signature в словаре data, кажется, не имеет правильного значения, поэтому я рекомендую заменить:

"signature": token,

с

"signature": token.text,

во-вторых, кажется, что typeformtutorial ожидает получения строки JSON, поэтому вы должны заменить:

requests.post("https://typeformtutorial.typeform.com/app/form/submit/aA7Vx9",data=data)

на

requests.post("https://typeformtutorial.typeform.com/app/form/submit/aA7Vx9",json=data)

Надеюсь, это поможет!

...