Я дал пример для достижения вашего сценария. Пожалуйста, используйте приведенный ниже пример и внесите изменения в соответствии с вашими требованиями.
Класс RestUtils:
Добавьте заголовок запроса, если в вашем приложении ожидаются дополнительные заголовки.
class RestUtils
{
private static readonly RestClient _restClient = new RestClient();
public static void SetBaseURL(String host)
{
_restClient.BaseUrl = new Uri(host);
}
public static string GetResponse(String endpoint, String token)
{
var request = new RestRequest(endpoint, Method.GET);
request.AddHeader("Accept", "application/json");
request.AddHeader("Authorization", token);
IRestResponse response = _restClient.Execute(request);
return response.Content;
}
public static string GetToken(String endpoint)
{
var request = new RestRequest(endpoint, Method.GET);
request.AddHeader("Accept", "application/json");
IRestResponse response = _restClient.Execute(request);
return response.Content;
}
}
TestClass:
В вашем тестовом классе вы можете добавить следующие шаги и получить ожидаемый результат. Первые две строки будут выполнены, и в качестве выходных данных будет выдан токен аутентификации. Таким образом, вы можете использовать полученный токен в последующих строках для другого API. По-другому, вы можете создать один класс свойств и установить значение полученного токена. Таким образом, вы можете получить доступ к токену из другого класса.
//Specify the Base URI of your Token Specific API
RestUtils.SetBaseURL("https://login.microsoftonline.com/");
//Specify the End Point of your Token Specific API
String token = RestUtils.GetToken("/oauth2/token");
//Specify the Base URI of your actual Test API
RestUtils.SetBaseURL("XXXXXXX");
String response = RestUtils.GetResponse(token);