cURL PUT请求不使用PHP

时间:2017-01-30 23:24:03

标签: php json api curl

我正在使用此处的Challonge.com API:https://api.challonge.com/v1

我正在努力让匹配更新功能正常运行 - https://api.challonge.com/v1/documents/matches/update

我已经成功使用相同的代码更新我的锦标赛,但由于某种原因,以下代码没有更新变量。相反,我得到的响应与脚本运行之前的响应相同。任何想法?

       // Update Match on Challonge
        $params = array(
            "api_key" => "my api key goes here",
            "winner_id" => "50287554",
            "scores_csv" => "2-5,1-3"               
        );
        $url = "https://api.challonge.com/v1/tournaments/efps_59/matches/78842711.json"; 
        $data_json = json_encode($params);
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($data_json)));
        curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
        curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $response  = curl_exec($ch);
        curl_close($ch);
        echo $response;

1 个答案:

答案 0 :(得分:1)

您的documentation说明winner_idscores_csv的参数必须是match的数组:

   // Update Match on Challonge
    $params = array(
        "api_key" => "my api key goes here",
        "match" => array(
            "winner_id" => "50287554",
            "scores_csv" => "2-5,1-3"
        )
    );