我正在使用 restsharp 呼叫 eBay api。代碼如下。
Async Sub fulfillmentPolicies()
Dim request As New RestRequest(sFulfillmentURL, Method.Get)
request.AddHeader("Authorization", "Bearer " & uT.access_token)
request.AddHeader("Content-Type", "application/json")
Try
Dim response = Await client.GetAsync(request)
If response.StatusCode = HttpStatusCode.OK Then
Dim sR As String = response.Content
Dim pP As PaymentPolicy = JsonSerializer.Deserialize(Of PaymentPolicy)(sR)
End If
Catch ex As Exception
End Try
End Sub
客戶端設定在此程序之外,因為它被多次使用。
在進行此呼叫時的測驗中,我收到錯誤訊息“無法發送具有此動詞型別的內容主體”。我可以使用相同的標頭在 Postman 中成功進行此呼叫。對這里發生的事情有什么想法嗎?修復方法?
uj5u.com熱心網友回復:
Content-Type描述請求中正文的格式。它不應該用來告訴服務器要回傳什么型別的資料。
Content-Type 標頭的存在導致 .NET 庫中出現錯誤,因為它試圖強制執行不使用 GET 包含正文的規則,并且不包含暗示正文存在的標頭。
您應該能夠洗掉該標頭,但某些 API 可能不兼容。最好設定Accepts為指示您接受 JSON 作為回應。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473613.html
