使用 Canvas API 通过以下 PHP 更新评论和反馈:
$token_url = 'https://' . $lti_base_url . '.instructure.com/api/v1/courses/' . $course_id . '/assignments/' . $assign_id . '/submissions/' . $user_id;
// var_dump($token_url);
$header = array("Authorization: Bearer {$token}");
$post = [
'comment'=>$msg_body,
'submission'=>$grade,
];
$curl = curl_init($token_url);
curl_setopt($curl,CURLOPT_CUSTOMREQUEST,"PUT");
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_HTTPHEADER,$header);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl,CURLOPT_POSTFIELDS,$post);
$lti_msgresponse = curl_exec($curl);
curl_close($curl);
我得到了以下变化:
{"errors":[{"message":"发生错误。","error_code":"internal_server_error"}],"error_report_id":2255}
其他非常相似的脚本工作得很好(尽管没有一个是“PUT”请求)。我错过了什么?这些通用错误消息真的令人沮丧。
如果语法正确,可能是 API 本身的权限问题?