首页 > 解决方案 > 如何向 HttpWebRequest 添加参数

问题描述

我正在尝试从 Spotify 的 API 获取一些数据,但我从编译器收到了一些错误,我认为这可能会发生,因为我没有添加参数grant_type=client_credentials

问题是如何将此参数添加到HttpWebRequest对象中?

var token = GetToken();
var request = HttpWebRequest.CreateHttp($"{BaseAddress}search?q=Batman&type=playlist&market=US&limit=10&offset=5&access_token={token}");
request.Method = WebRequestMethods.Http.Get;
request.Headers.Add(HttpRequestHeader.Authorization, "Basic " + token);
request.ContentType = "application/json";
request.Accept = "application/json";

标签: apiauthorizationhttpwebrequestspotifycredentials

解决方案


当您获得令牌时,您需要添加此参数,您的GetToken方法将发送客户端 ID客户端密码的客户端凭据流,并且客户端凭据grant_type需要作为具有ContentTypeHttpWebRequest发送application/x-www-form-urlencoded这就是文档所指的Request Body Parameter

我使用了允许FormUrlEncodedContent执行此操作的HttpClient ,但是您应该能够使用HttpWebRequest发送该信息,就像您使用POST请求一样,但是需要修改GetToken代码,这未在问题中显示


推荐阅读