簡體   English   中英

將canvas-lms api cURL請求轉換為HttpWebRequest

[英]Translating canvas-lms api cURL request to HttpWebRequest

當我嘗試發送請求時,出現“內部錯誤”異常,因此我想知道問題是否出在我的特定請求中,或者是否存在超出此范圍的問題。

cUrl請求如下所示:

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

-X開機自檢

-F'enrollment [user_id] = 241'

-F'enrollment [type] = StudentEnrollment'

我的要求看起來像這樣:

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();

我的要求有問題嗎?

我看到這篇文章已經很老了,但是基於快速瀏覽,這里有一些想法。 您沒有說自己要完成的工作,因此這里有一些潛在的錯誤:

  1. 如果要請求現有注冊,則應使用GET而不是POST。
  2. 如果您嘗試創建新的注冊,則沒有正確設置端點的結構-您需要指定一門課程(/ api / v1 / courses /:course_id / enrollments),然后可以包含user_idtype

具體信息在此處的文檔中列出: https : //canvas.instructure.com/doc/api/enrollments.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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