我有Rest API Url https://www.box.com/api/oauth2/token
。分别获取刷新/访问令牌。
当我在PostMan (Chrome Extension)
中尝试此操作时,它的工作正常。下面我附上了截屏。
获取访问令牌参考:https://developers.box.com/oauth/
但是我在Code中尝试过它Bad Request Error
。
public string PostToUrl(string url, string data)
{
string results = String.Empty;
WebRequest req = WebRequest.Create(url);
req.Method = WebRequestMethods.Http.Post;
byte[] byteArray = Encoding.UTF8.GetBytes(data);
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = byteArray.Length;
Stream dataStream = req.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse res = req.GetResponse();
dataStream = res.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
results = reader.ReadToEnd();
return results;
}
public override void TestConnection(TimeSpan timeout)
{
string json = PostToUrl("https://www.box.com/api/oauth2/token", "code=" + Code + "&grant_type=authorization_code&client_id=" + ClientId + "&client_secret=" + ClientSecret);
}
这里我的问题是......
我如何形成此休息的请求API call
?
如何将多表格数据和值合并到该请求中?
通过邮递员提出请求:
来自我的代码的框请求:
答案 0 :(得分:2)
答案 1 :(得分:1)
我已将NameValueCollection
添加到标题中。喜欢下面
var nameValue = new NameValueCollection
{
{"grant_type", "authorization_code"},
{"client_id", ClientId},
{"client_secret", ClientSecret},
{"code", RefreshToken}
};
request.Headers.Add(nameValue);
初始参考Link
现在它工作正常。