0

当我尝试发送请求时,我得到一个“内部错误”异常,所以我想知道问题是否出在我的特定请求中,或者是否还有其他问题。

cUrl 请求如下所示:

curl https://(canvas_api_url)?access_token=(access-token)

-X 发布

-F '注册[user_id]=241'

-F '注册[类型]=学生注册'

我的请求如下所示:

HttpWebRequest req = WebRequest.Create("https://<canvas_api_url>?access_token=<access-token>");

req.Method = "POST";
req.ContentType = " application/json; charset=utf-8";
req.UseDefaultCredentials = true;
req.PreAuthenticate = true;
req.Credentials = CredentialCache.DefaultCredential;

using (var streamWriter = new StreamWriter(req.GetRequestStream())
{
     string json = "{\"enrollment\" : 
     [\"user_id\" : \"241\", \"type\" : \"StudentEnrollment\"]}";
     streamWriter.Write(json);
}

HttpWebResponse response = req.GetResponse();

我的请求有问题吗?

4

1 回答 1

0

我看到这篇文章很老了,但这里有一些基于快速浏览的想法。你没有说你想要完成什么,所以这里有几个潜在的错误:

  1. 如果您正在请求现有的注册,您应该使用 GET 而不是 POST。
  2. 如果您尝试创建新的注册,则您没有正确构建端点 - 您需要指定一门课程 (/api/v1/courses/:course_id/enrollments),然后您可以包含user_idtype.

此处的文档中列出了详细信息:https ://canvas.instructure.com/doc/api/enrollments.html

于 2016-07-14T19:25:59.463 回答