在django中发送json请求的问题

时间:2017-08-30 05:50:10

标签: python json django django-views

我正在开展一个项目,我希望将SynapseFi api调用纳入我的django项目。查看他们的文档,他们要求我添加到django函数/方法中的一些参数,这些参数被调用以向eh api发送请求并接收响应。我不确定在哪里,但我无法让它工作,我一直在努力搞清楚这几天。也许这里有人可以提供帮助..我将添加文档部分和我到目前为止...

文档 以下内容将添加到请求的标题中...

POST /v3.1/users HTTP/1.1
Host: uat-api.synapsefi.com
X-SP-GATEWAY: client_id_2bb1e412edd311e6bd04e285d6015267|client_secret_2bb1e714edd311e6bd04e285d6015267
X-SP-USER-IP: 127.0.0.1
X-SP-USER: |e83cf6ddcf778e37bfe3d48fc78a6502062fc
Content-Type: application/json

这是一个将与响应一起传递的示例对象......

{
  "logins": [
    {
      "email": "test@synapsepay.com"
    }
  ],
  "phone_numbers": [
    "901.111.1111",
    "test@synapsepay.com"
  ],
  "legal_names": [
    "Test User"
  ],
  "extra": {
    "supp_id": "122eddfgbeafrfvbbb",
    "cip_tag":1,
    "is_business": false
  }
}

*我的代码*

这是我在一个将从方法中调用的函数....

标头进入带有主网址和有效负载的请求标头。

有没有办法永久性地永久设置标题中的键值对,并将它们留在那里而不必为每个请求标题添加它们....

url = 'uat-api.synapsefi.com'
headers = {
    'X-SP-GATEWAY' : client_id_asdfeavea561va9685e1gre5ara|client_secret_4651av5sa1edgvawegv1a6we1v5a6s51gv,
    'X-SP-USER-IP' : 127.0.0.1,
    'X-SP-USER' : | 'ge85a41v8e16v1a618gea164g65',
    'Contant-Type' : application/json,
}
payload = {
    "logins":[
        {
            "email":"test@test.com
        }
    ],
    "phone_numbers":[
        "123.456.7890",
        "test@test.com",
    ],
    "legal_names":[
        "Test name",
    ],
    "extras":{
        "supp_id":"asdfe515641e56wg",
        "cip_tag":12,
        "is_business":false,
    }
}

call = requests.post(url, data=json.dumps(payload), headers=headers)
print(call)
return call

我在线上遇到语法错误:

'X-SP-GATEWAY' : client_id_asdfeavea561va9685e1gre5ara|client_secret_4651av5sa1edgvawegv1a6we1v5a6s51gv,

我只想发送一个有效的测试请求......

1 个答案:

答案 0 :(得分:1)

字符串值必须在引号中:

headers = {
    'X-SP-GATEWAY' : 'client_id_asdfeavea561va9685e1gre5ara|client_secret_4651av5sa1edgvawegv1a6we1v5a6s51gv'
    'X-SP-USER-IP' : '127.0.0.1',
    'X-SP-USER' : 'ge85a41v8e16v1a618gea164g65',
    'Content-Type' : 'application/json',

}