Php 为什么我会收到一个通用的内部服务器错误消息?
使用Canvas API使用以下PHP更新评论和反馈:Php 为什么我会收到一个通用的内部服务器错误消息?,php,curl,canvas-lms,Php,Curl,Canvas Lms,使用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_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);
我在以下方面得到回复:
{“错误”:[{“消息”:“错误”
发生。“,“错误代码”:“内部服务器错误”}],“错误报告id”:2255}
其他非常类似的脚本工作得很好(尽管没有一个是“PUT”请求)。我错过了什么?这些一般性的错误消息确实令人沮丧
如果语法正确,可能是API本身的权限问题?阅读文档 这些字段是: 注释[文本注释] 提交资料[已张贴(大学成绩)] 我遗漏了括号内的部分 因此,我们应该:
$post = [
'comment[text_comment]'=>$msg_body,
'submission[posted_grade]'=>$grade,
];
如果错误代码真的有意义,这会有所帮助。好吧,错误在API端,我看不到其他选择,只能尝试联系他们告诉你发生了什么。好的,很好的回答。但我还是会向他们提交一份bug报告。您应该收到一个
400错误请求
,最好是有一条消息告诉您出了什么问题。收到500内部服务器错误
意味着他们没有正确处理此案例。非常感谢您的反馈…我们会这样做的。Stripe和其他投资于帮助开发人员导航API和常见错误的公司,以及其他大多数公司,有很大的不同。