我是REST API的新手 我想从C#中的外部站点检索xml格式的ListItem 我有网站的用户名和密码(顺便使用混合身份验证)。
HttpWebRequest endpointRequest = (HttpWebRequest)HttpWebRequest.Create("https://<site>/_api/web/lists");
endpointRequest.Method = "GET";
endpointRequest.Accept = "application/atom+xml";
//endpointRequest.Headers.Add("Authorization", "Bearer " + accessToken);
endpointRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("<domain>\\<username>:<password>"));
HttpWebResponse endpointResponse = (HttpWebResponse)endpointRequest.GetResponse();
我正在使用我在MSDN上找到的这段代码 请有人告诉我如何获得访问令牌? 为什么我会收到403 Forbidden错误?
答案 0 :(得分:1)
我认为您可以更好地使用NetworkCredential类:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
NetworkCredential credentials = new NetworkCredential("testuser", "testpass");
request.Credentials = credentials;
无需发送授权标题
答案 1 :(得分:0)
当我必须使用REST API时,我使用Tiny.RestClient 1
在您的情况下,您必须这样写呼叫:
var client = new TinyRestClient(new HttpClient(), "https://<site>/_api/");
client.GetRequest("web/lists")
希望有帮助。 WithBasicAuthentication(“用户名”,“密码”)。 ExecuteAsync();