0

我正在尝试使用 Dreamfactory API 将来自我的 Python 应用程序的请求发布到在我的本地主机上运行的 MongoDB。但是,我收到了 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))
4

1 回答 1

0

与您传递的 API 密钥关联的角色是否具有正确的权限?换句话说,如果您没有分配默认角色,您很可能会得到 400,因为您没有在标头中传递会话令牌 (JWT) 以及 API 密钥。如果您分配了允许请求的动词(GET、POST 等)调用的默认角色,则允许您使用 JWT 传递 API 密钥。

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

于 2018-09-18T16:33:35.633 回答