簡體   English   中英

LMS API帳戶創建導致錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM