除了getAccountFunds之外,我在每个方法上都有DSC-0021错误。
我有这个请求功能
function send_request($api_method, $action, $params){
if(!isset($_SESSION['session']) or empty($_SESSION['session'])){
$_SESSION['session'] = login_non_interactive(APP_KEY);
}
$endpoint = 'https://api.betfair.com/exchange/account/json-rpc/v1';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-Application: ' . APP_KEY,
'X-Authentication: ' . $_SESSION['session'],
'Accept: application/json',
'Content-Type: application/json'
));
$postData =
'[{ "jsonrpc": "2.0", "method": "'.$api_method.'/v1.0/' . $action . '", "params" :' . $params . ', "id": 1}]';
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
if( ! $response = curl_exec($ch)){
trigger_error(curl_error($ch));
}
$http_status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($http_status == 200) {
return json_decode($response);
} else {
echo 'Error: ' . $response;
}
}
for balance(getAccountFunds)我收到了有效且正常的回复
$ params =' {"钱包":"英国"}';
$ action =' getAccountFunds';
$ api_method =' AccountAPING';
$ balance = send_request($ api_method,$ action,$ params);
其他方法我总是得到DSC-0021
$ params =' {"过滤":{}}';
$ action =' listEventTypes';
$ api_method =' SportsAPING';
$ res = send_request($ api_method,$ action,$ params);
sessionToken有效且关键
由于