パスを使用しようとしています
POST /d2l/api/lp/(D2LVERSION: version)/users/
エラーが発生しています。私が知る限り、これはうまくいくはずなので、ドキュメントに欠けているものがないことを願っています。
HTTP/1.1 400 Bad request
Cache-Control: private
Content-Length: 0
Server: Microsoft-IIS/7.5
X-XSS-Protection: 0
X-Powered-By: ASP.NET
Date: Wed, 23 Jan 2013 18:37:07 GMT
送信するデータは次のようになります。
{
"OrgDefinedId":"190006002",
"FirstName":"Jesty",
"MiddleName":"Q",
"LastName":"McTest",
"ExternalEmail":"privateemail@gmail.com",
"UserName":"190006002",
"RoleId":115,
"IsActive":true,
"SendCreationEmail":true
}
現時点で私のPHPコードは次のようになります。
$random_hash = "xxBOUNDARYxx";
$request ="--".$random_hash.
"\r\nContent-Type: application/json\r\n\r\n$data\r\n\r\n--".
$random_hash;
$length=strlen($request);
$url = $opContext->createAuthenticatedUri($url,"POST");
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("HTTP/1.1", "Content-Type: multipart/form-data; boundary=xxBOUNDARYxx","Content-Length:".$length));
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_POST,true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
return curl_exec($ch);