dongyue110702 2018-01-03 05:51
浏览 123
已采纳

如何将cURL PUT语法转换为正确的PHP

I am struggling to get the Qualtrics PUT API to work using PHP.

The cURL syntax is:

    curl -X PUT -H 'X-API-TOKEN: yourtokenhere'  -H 'Content-Type: application/json' -d '{
    "status": "active",
    "lastName": "ExampleLastName",
    "password": "uwillneverguess",
    "firstName": "ExampleFirstName",
    "userType": "UT_1234567890AbCdE",
    "accountExpirationDate": null,
    "permissions": {
        "controlPanel": {
            "accountPermissions": {
                "accessApi": {
                    "state": "off"
                }
            }
        }
    }
}' 'https://yourdatacenterid.qualtrics.com/API/v3/users/UR_1234567890AbCdE'

I need this to work in PHP. I am trying to update the password only. I would appreciate any help as I've been trying for a while with no success.

Qualtrics doesn't provide any example PHP code but the following additional information might help:

Request Headers

Accept: */*
X-API-TOKEN: yourtokenhere
accept-encoding: gzip, deflate
content-type: application/json
content-length: 24

Request Data

{
    "password": "Password1"
}

Thanks in advance.

  • 写回答

2条回答 默认 最新

  • duande1985 2018-01-03 05:56
    关注

    Below is a sample php example based on your curl example.

    $ch = curl_init();
    
    curl_setopt($ch, CURLOPT_URL, "https://yourdatacenterid.qualtrics.com/API/v3/users/UR_1234567890AbCdE");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, "{
        \"status\": \"active\",
        \"lastName\": \"ExampleLastName\",
        \"password\": \"uwillneverguess\",
        \"firstName\": \"ExampleFirstName\",
        \"userType\": \"UT_1234567890AbCdE\",
        \"accountExpirationDate\": null,
        \"permissions\": {
            \"controlPanel\": {
                \"accountPermissions\": {
                    \"accessApi\": {
                        \"state\": \"off\"
                    }
                }
            }
        }
    }");
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT");
    
    
    $headers = array();
    $headers[] = "X-Api-Token: yourtokenhere";
    $headers[] = "Content-Type: application/json";
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    
    $result = curl_exec($ch);
    if (curl_errno($ch)) {
        echo 'Error:' . curl_error($ch);
    }
    curl_close ($ch);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置