我正在开展一个项目,我希望将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,
我只想发送一个有效的测试请求......
答案 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',
}