有没有办法使用 RestSharp 只获取访问令牌?
Is there a way to get only the access token using RestSharp?
我只想获取访问令牌并在新请求中传递它,但出现错误:IRestResponse does not contain a definition for "AccessToken'
var client = new RestClient("https://localhost:5001/");
client.Timeout = -1;
var ClientID = "client";
var ClientSecret = "secret";
var Scope = "Api1";
var request = new RestRequest("connect/token", Method.POST);
request.AddParameter("grant_type", "client_credentials");
request.AddParameter("client_id", ClientID);
request.AddParameter("client_secret", ClientSecret);
request.AddParameter("scope", Scope);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
Console.WriteLine("Authorization token request failed with the following error: @{Error}", response.Content);
throw new Exception(response.Content);
}
else
{
var token = response.AccessToken;
....
试试这个
var result = JsonConvert.DeserializeObject<dynamic>(response.Content);
var token = result.access_token //the name of the access token in your response can be different, change it to whatever suits your needs
我没有使用过 RestSharp,但查看了反序列化响应内容所需的文档。
您可以使用 Execute() 版本执行此操作,其中 returns IRestResponse 包含所请求对象的 T 数据成员。
IRestResponse<TokenResponseClass> response = client.Execute<TokenResponseClass>(request);
if (!response.IsSuccessful)
{
Console.WriteLine("Authorization token request failed with the following error: @{Error}", response.Content);
throw new Exception(response.Content);
}
else
{
var token = response.Data.AccessToken;
我只想获取访问令牌并在新请求中传递它,但出现错误:IRestResponse does not contain a definition for "AccessToken'
var client = new RestClient("https://localhost:5001/");
client.Timeout = -1;
var ClientID = "client";
var ClientSecret = "secret";
var Scope = "Api1";
var request = new RestRequest("connect/token", Method.POST);
request.AddParameter("grant_type", "client_credentials");
request.AddParameter("client_id", ClientID);
request.AddParameter("client_secret", ClientSecret);
request.AddParameter("scope", Scope);
IRestResponse response = client.Execute(request);
if (!response.IsSuccessful)
{
Console.WriteLine("Authorization token request failed with the following error: @{Error}", response.Content);
throw new Exception(response.Content);
}
else
{
var token = response.AccessToken;
....
试试这个
var result = JsonConvert.DeserializeObject<dynamic>(response.Content);
var token = result.access_token //the name of the access token in your response can be different, change it to whatever suits your needs
我没有使用过 RestSharp,但查看了反序列化响应内容所需的文档。
您可以使用 Execute
IRestResponse<TokenResponseClass> response = client.Execute<TokenResponseClass>(request);
if (!response.IsSuccessful)
{
Console.WriteLine("Authorization token request failed with the following error: @{Error}", response.Content);
throw new Exception(response.Content);
}
else
{
var token = response.Data.AccessToken;