Ответ 400по мечте заводной вызов API POST - PullRequest
0 голосов
/ 20 мая 2018

Я пытаюсь отправить запрос из моего приложения Python на MongoDB, работающую на моем локальном хосте, используя Dreamfactory API.Тем не менее, я получаю ответ 400 обратно.Нет проблем с подключением к MongoDb, так как почтовый запрос отлично работает из менеджера стека Dreamfactory.Код, который я использую, как показано ниже.Любая идея, что я делаю не так.

    import requests
    import json
    import yaml
    import pandas as pd
    from datetime import date, datetime
    url="http://127.0.0.1:27017/api/v2/db/_table/test" 

    def remove_dots(obj):
        for key in obj.keys():
            new_key = key.replace(".","-")
            if new_key != key:
                obj[new_key] = obj[key]
                del obj[key]
        return obj

    json_obj_dict={'Name': 'Zara', 'Age.Key': 7, 'Class': 'First'}
    new_json = json.dumps(json_obj_dict)
    json_final=json.loads(new_json, object_hook=remove_dots)
    json_final={"resource":[json_final]}
    headers = {"Content-Type": "application/json", "X-DreamFactory-API-Key":"36fda24fe5588fa4285ac6c6c2fdfbdb6b6bc9834649774c9bf777f706d05a88" }
    r = requests.post(url, headers=headers,data=json.dumps(json_final))

1 Ответ

0 голосов
/ 18 сентября 2018

Имеет ли роль, связанная с передаваемым вами ключом API, правильные привилегии?Другими словами, если вам не назначена роль по умолчанию, вы, скорее всего, получите 400, потому что вы не передаете токен сеанса (JWT) в своем заголовке вместе с ключом API.Вам разрешается передавать ключ API с помощью JWT, если вы назначили роль по умолчанию, которая разрешает запрашиваемый вызов глагола (GET, POST и т. Д.).

http://wiki.dreamfactory.com/DreamFactory/Troubleshooting#Common_Errors http://wiki.dreamfactory.com/DreamFactory/Tutorials/Setting_up_application_default_role http://wiki.dreamfactory.com/DreamFactory/Features/Auth#Authentication

...