Как вызвать JDoodle API из приложения Python/Flask

Я студент, и мне нужна помощь в вызове API компилятора Jdoodle (документы здесь), пожалуйста.

Когда я делаю почтовый запрос через Postman и использую его как тело JSON, он работает ...

      {
        "script": "console.log('hello world')",
        "stdin": "",
        "language": "nodejs",
        "versionIndex": "0",
        "clientId": "a3462eccc82ecc57a745a23e52c5c71e",
        "clientSecret": "another long string"
}

... и я получаю ожидаемый результат:

      {
    "output": "hello world\n",
    "statusCode": 200,
    "memory": "22764",
    "cpuTime": "0.05"
}

Однако я не могу заставить его работать из моего внутреннего интерфейса Python Flask. Вот мой код:

      @app_bp.route("/compile", methods=["POST"])
def compile():
    path = "https://api.jdoodle.com/v1/execute"

    query_params = {
        "script": "console.log('hello world')",
        "stdin": "",
        "language": "nodejs",
        "versionIndex": "0",
        "clientId": "a3462eccc82ecc57a745a23e52c5c71e",
        "clientSecret": "another long string here similar to one above"
    }

    response = requests.post(path, params=query_params)
    return response.json()

Я также пробовал это, передавая заголовки (headers = {"Content-Type": "application / json"}), и я все еще получаю тот же ответ от почтальона:

      {
"error": "Invalid Request",
"statusCode": 400 
}

Я новичок, и любая помощь будет принята с благодарностью. Спасибо!

0 ответов

Другие вопросы по тегам