Исходя из примера токена в примере и предполагая, что значение хранится в переменной AccessToken
,
Все, что вам нужно сделать, это добавить в запрос заголовок Authorization
.
string requestString = "https://api.bimobject.com/search/v1/products?filter.brand.id=" + BrandID;
var client = new RestClient(requestString);
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
//Assuming AccessToken = 374bfdca122189f8c98e41ccd7a30212 value in sample JSON
request.AddHeader("Authorization", $"Bearer {AccessToken}");
IRestResponse response = client.Execute(request);
При повторном использовании клиента дополнительной опцией будет создание IAuthenticator
производного класса
public class BearerAuthenticator : IAuthenticator {
private readonly string authHeader;
public BearerAuthenticator(string accessToken) {
if (accessToken == null)
throw new ArgumentNullException("accessToken");
authHeader = $"Bearer {accessToken}";
}
public void Authenticate(IRestClient client, IRestRequest request) {
// only add the Authorization parameter if it hasn't been added by a previous Execute
if (!request.Parameters.Any(p => p.Type.Equals(ParameterType.HttpHeader) &&
p.Name.Equals("Authorization", StringComparison.OrdinalIgnoreCase)))
request.AddParameter("Authorization", authHeader, ParameterType.HttpHeader);
}
}
и присвоение его клиенту
string requestString = "https://api.bimobject.com/search/v1/products?filter.brand.id=" + BrandID;
var client = new RestClient(requestString);
client.Authenticator = new BearerAuthenticator(AccessToken);
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
IRestResponse response = client.Execute(request);
Теперь,заголовок Authorization
будет добавлен ко всем запросам, сделанным этим клиентом (при условии, что в запросе этот заголовок еще не установлен)