我正在尝试betfair api中的以下示例代码:
import requests
import json
url="https://api.betfair.com/betting/json-rpc"
header = { 'X-Application' : appKey, 'X-Authentication' : sessionToken, 'content-type' : 'application/json' }
jsonrpc_req='{"jsonrpc": "2.0", "method": "SportsAPING/v1.0/listCompetitions", "params": {"filter":{ "eventTypeIds" : [1] }}, "id": 1}'
print json.dumps(json.loads(jsonrpc_req), indent=3)
print " "
response = requests.post(url, data=jsonrpc_req, headers=header)
print json.dumps(json.loads(response.text), indent=3)
我不断得到
ValueError: No JSON object could be decoded
。 最佳答案
在这里危险的猜测:
进行直接GET
时,https://api.betfair.com/betting/json-rpc返回404。您也可以在浏览器中查看结果。好的API如果出现标题问题,则会返回正确的错误代码(401或403)。您确定要呼叫正确的端点吗?
要进行故障排除,我们需要更多信息。将最后一行更改为以下结果是什么?
print response.text
查看您的更新,您会看到与我相同的内容:
The requested resource (/betting/json-rpc) is not available.
您在
POST
中发送了错误的标头,或者更有可能是调用了错误的url。进行一些挖掘,我认为正确的方法是:https://api.developer.betfair.com/betting/json-rpc
关于python - ValueError:无法解码JSON对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21056364/