public void
api()
{
string
token = "";
try {
callApi(token);
}
catch(Exception)
{
var client = new RestClient("www.example.com/api/token");
var request = new RestRequest(Method.POST);
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddHeader("cache-control", "no-cache");
request.AddParameter("application/x-www-form-urlencoded", "grant_type=password&username=us&password=pas", ParameterType.RequestBody);
IRestResponse
response = client.Execute(request);
dynamic
resp = JObject.Parse(response.Content);
token = resp.access_token;
callApi(token);
}
}
public void
callApi(string
token)
{
var client = new RestClient("www.example.com/api/data");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer
" +
token);
request.AddHeader("accept", "application/json;
charset=utf-8");
IRestResponse
response = client.Execute(request);
}
=============
How to get a token :
var
apiKey =
"api_key"
;
var
apiPassword =
"api_password"
;
//create RestSharp client and POST request object
var
client =
new
RestClient(url);
var
request =
new
RestRequest(Method.POST);
//add GetToken() API method parameters
request.Parameters.Clear();
request.AddParameter(
"grant_type"
,
"password"
);
request.AddParameter(
"username"
, apiKey);
request.AddParameter(
"password"
, apiPassword);
//make the API request and get the response
IRestResponse response = client.Execute(request);
//return an AccessToken
return
JsonConvert.DeserializeObject(response.Content);
ref : https://mfcallahan.blog/2017/07/30/making-a-post-request-to-an-oauth2-secured-api-using-restsharp/
No comments:
Post a Comment