Создание учетной записи API LMS, приводящее к ошибке

Я работаю над Canvas LMS и имею токен доступа. Мне нужно создать учетную запись пользователя, используя веб-сервис на PHP. Я пытался сделать это, используя CURL (метод post), но получил ошибку в ответ. Однако GET работает нормально.

Например, если мне нужно получить информацию о курсе и т. Д., Он работает нормально, но создание аккаунта не работает с помощью CURL (post). Ниже мой код.

$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
)

0

Решение

Я решил свою проблему. Причиной «внутренней ошибки сервера» была не отправка обязательных полей. Вот обязательные поля, если кто-то должен знать.

'user[name]' => '',
'user[terms_of_use]' => 'true',
'pseudonym[unique_id]' => '',//i.e valid email
'pseudonym[send_confirmation]'=>'true'

Теперь мой запрос CURL работает нормально, и я могу успешно создать учетную запись.

1

Другие решения

Похоже, что ключи для ваших аргументов неверны. Они должны быть:

'user[name]' => 'vaue',
'user[short_name]' => 'value',
'pseudonym[unique_id]' => '1121',

Вы можете найти документы по установке холста по адресу: «https: // {ваш домен холста} /doc/api/index.html» или, если вы используете холст, размещенный в облаке, по адресу api.instructure.com.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector