我必须调用一个安静的API,但我唯一的详细信息是API ID和API密钥。
我正在尝试使用像这样的Restsharp库代码。
var client = new RestClient("https://xxxxxxx");
client.Authenticator = new HttpBasicAuthenticator("xxxxx", "yyyyyy");
我收到了401授权错误。
请你指点我正确的方向。
感谢。
答案 0 :(得分:2)
这是我提出的解决方案。
这将返回客户端对象
private RestClient InitializeAndGetClient()
{
var cookieJar = new CookieContainer();
var client = new RestClient("https://xxxxxxx")
{
Authenticator = new HttpBasicAuthenticator("xxIDxx", "xxKeyxx"),
CookieContainer = cookieJar
};
return client;
}
你可以使用像
这样的方法 var client = InitializeAndGetClient();
var request = new RestRequest("report/transaction", Method.GET);
request.AddParameter("option", "value");
//Run once to get cookie.
var response = client.Execute(request);
//Run second time to get actual data
response = client.Execute(request);
希望这会对你有所帮助。
普拉卡什。
答案 1 :(得分:0)
我知道这很老,但这只是我所需要的:
var cookieJar = new CookieContainer();
var client = new RestClient("https://xxxxxxx")
{
Authenticator = new HttpBasicAuthenticator("[username]", "[password]"),
CookieContainer = cookieJar
};
然后,在创建请求对象之后,我必须添加API_KEY标头:
var request = new RestRequest("[api]/[method]"); // this will be unique to what you are connecting to
request.AddHeader("API_KEY", "[THIS IS THE API KEY]");