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 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机
  • ¥60 Java中实现如何实现张量类,并用于图像处理(不运用其他科学计算库和图像处理库))
  • ¥20 5037端口被adb自己占了