【发布时间】:2019-05-21 04:07:34
【问题描述】:
我收到以下回复:
"{\"error\":\"unsupported_grant_type\",\"error_description\":\"Grant 类型为 NULL\"}"
我尝试了几种不同的方法来构建它想要的 JSON 字符串,但我没有任何运气。我看过一些样本,人们让它工作,但他们必须改变它。
这是我的代码:
public string PostPayment([FromBody]Payment_DTO payment)
{
//Request token
var client = new RestClient(_EndPoint);
var request = new RestRequest(Method.POST);
string json = BuildTokenRequest();
string svcCredentials =
Convert.ToBase64String(ASCIIEncoding.ASCII.GetBytes(_UserName + ":" +
_Password));
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Authorization", "Basic " + svcCredentials);
request.AddHeader("content-type", "application/x-www-form-
urlencoded");
request.AddParameter("application/json", json,
ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
return response.Content.ToString();
}
我认为问题在于我的 json builder 函数本身。我确定我在这里做错了什么:
public string BuildTokenRequest()
{
//string request = "grant_type=" + _Password + "&client_id=" + _UserName + "&client_secret=" + _Password + "$username=" + _UserName + "&password=" + _Password;
string request = "client_id="+ _UserName + "secret=" + _Password + "grant_type=client_credentials";
return JsonConvert.SerializeObject(request);
}
【问题讨论】:
标签: c# .net json serialization json.net