[英]Format this GET request in VB.NET code behind?
我正在嘗試一種“ GET”方法來請求來自Accelo API的活動計數:
https://api.accelo.com/docs/?http#count-activities
而且,盡管我使用了非常相似的POST方法來通過身份驗證方法成功獲取訪問令牌,但我終生無法弄清楚如何獲取活動計數。 API表示使用“ GET”並將訪問令牌作為“ bearer ...”,並且我還嘗試過發布並首先獲取流,嘗試發送一些數據並訪問“列表活動”端點。 ..什么都沒有。 我所做的一切都會返回錯誤“ 400. Bad Request”。
我嘗試直接在URI中以查詢字符串格式傳遞數據,並嘗試自GET函數以來不傳遞任何數據。 在我看來,我完全在遵循API。
Dim data2 = Nothing ' Encoding.UTF8.GetBytes(jsonstring)
Dim _list = GetListOfActivities(New Uri("https://example.api.accelo.com/api/v0/activities/count.xml"), data2, _AccessToken)
Dim reqa As WebRequest = WebRequest.Create(uri)
' reqa.Method = "GET"
reqa.Headers.Add("GET", "/api/v0/activities/count.xml HTTP/1.1")
reqa.Headers.Add("Authorization", "Bearer " & _AccessToken)
reqa.ContentType = "application/x-www-form-urlencoded"
'reqa.ContentLength = jsonDataBytes.Length
' Dim streama = reqa.GetRequestStream()
' streama.Write(jsonDataBytes, 0, jsonDataBytes.Length)
'streama.Close()
Dim responsea As WebResponse = reqa.GetResponse()
Console.WriteLine((CType(responsea, HttpWebResponse)).StatusDescription)
我必須格式化請求格式錯誤-請幫忙嗎?
我的問題原來是愚蠢的,實際上超出了我在此處發布的范圍。 我在初始請求中指定了一個“作用域”,以獲取設置為只讀“ staff”數據的訪問令牌(我將示例在線復制並粘貼到了我的代碼中,用於其他類型的參數,例如授權類型和我將示波器與它一起帶來了),在這種情況下,我試圖訪問“活動”數據而不是“人員”數據。 我本以為會得到一個與權限相關的錯誤,而不是讓我感到困惑的“錯誤請求”,但是無論如何現在它都能工作了。
上面的代碼-實際上是這一行:
reqa.Method = "GET"
代替此行:
reqa.Headers.Add("GET", "/api/v0/activities/count.xml HTTP/1.1")
由於我在獲取訪問令牌的初始Web方法中將范圍更改為read(all),因此效果很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.