Каков наилучший способ вернуть запрос smmry api с блоком текста в json вместо URL? - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь написать функцию в python, которая возвращает json из запроса к smmry API. Я смог заставить его работать с запросом SM_URL следующим образом:

def summry():
    API_ENDPOINT = "https://api.smmry.com"
    API_KEY = "B..."

    params = {
        "SM_API_KEY":API_KEY,
        "SM_URL":"https:..."
    }

    r = requests.get(url=API_ENDPOINT, params=params)
    return r.json()

Однако я не уверен, как бы вы сделали это для передачи блока текста вместо URL. Я попытался сделать запрос с sm_api_input=my_input, но это вернуло ошибку недостаточных переменных. Я также попробовал это с запросом POST и получил ту же ошибку.

1 Ответ

0 голосов
/ 05 мая 2020

Если кому-то интересно, вот как я решил проблему. Оказывается, мне нужен заголовок Expect: 100-continue, а sm_api_input - это отдельное поле сообщения вместо запроса get.

def summry(text):
    API_KEY = "B..."
    API_ENDPOINT = "https://api.smmry.com"

    data = {
        "sm_api_input":text
    }
    params = {
        "SM_API_KEY":API_KEY
    }
    header_params = {"Expect":"100-continue"}
    r = requests.post(url=API_ENDPOINT, params=params, data=data, headers=header_params)

    return r.json()
...