[英]LMS API account creation resulting in an error
我正在使用Canvas LMS並具有訪問令牌。 我需要使用PHP中的Web服務創建一個用戶帳戶。 我嘗試使用CURL(post方法)來執行此操作,但響應中出現錯誤。 但是GET工作正常。
就像我需要獲取有關課程等的信息一樣,它工作正常,但是使用CURL(發布)無法創建帳戶。 下面是我的代碼。
$url = "https://xxxxx.com/api/v1/accounts/2/users";
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt( $curl, CURLOPT_HTTPHEADER, array( 'Authorization: Bearer ' .$token ) );
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, 'POST');
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_POSTFIELDS, array(
'name' => 'vaue',
'short_name' => 'value',
'unique_id' => '1121',
));
curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($curl, CURLOPT_ENCODING, "");
$curlData = curl_exec($curl);
curl_close($curl);
錯誤:
stdClass Object
(
[errors] => Array
(
[0] => stdClass Object
(
[message] => An error occurred.
[error_code] => internal_server_error
)
)
[error_report_id] => 1124
)
我解決了我的問題。 “內部服務器錯誤”的原因未發送必填字段。 如果有人需要,這里是必填字段。
'user[name]' => '',
'user[terms_of_use]' => 'true',
'pseudonym[unique_id]' => '',//i.e valid email
'pseudonym[send_confirmation]'=>'true'
現在,我的CURL請求可以正常工作,並且我能夠成功創建一個帳戶。
看來您的參數鍵不正確。 他們應該是:
'user[name]' => 'vaue',
'user[short_name]' => 'value',
'pseudonym[unique_id]' => '1121',
您可以在以下位置找到適用於您的畫布安裝的文檔:“ https:// {您的畫布域} /doc/api/index.html”,或者如果您使用的是雲托管的畫布,請訪問“ api.instructure.com”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.