api - 如何向 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";
解决方案
当您获得令牌时,您需要添加此参数,您的GetToken方法将发送客户端 ID和客户端密码的客户端凭据流,并且客户端凭据的grant_type需要作为具有ContentType的HttpWebRequest发送application/x-www-form-urlencoded这就是文档所指的Request Body Parameter。
我使用了允许FormUrlEncodedContent执行此操作的HttpClient ,但是您应该能够使用HttpWebRequest发送该信息,就像您使用POST请求一样,但是需要修改GetToken代码,这未在问题中显示
推荐阅读
- json - IllegalArgumentException Moshi 认为我在使用 List(Kotlin) 时使用的是 ArrayList(java)
- vue.js - 导入的组件和控制台消息
- javascript - DynamoDB:检索数据的动态函数
- abaqus - 在 Abaqus 中,使用线性显式六面体元素的“二阶精度”是什么意思?
- javascript - 我的网站有 html 或 javascript 问题
- javascript - OpenCV.js 与 OpenCV Python 图像 imread rgb 的区别
- ios - Firebase iOS 电子邮件身份验证(无密码身份验证)可在 iPhone 上工作,但不能在浏览器上工作
- c - 错误:可变大小的对象可能未初始化。我不明白为什么?
- javascript - 如何使用 Vue.js 仅更改特定块的数据值?
- apache-flink - Flink 作业重启设置被忽略