REST C#获取列表项

时间:2014-04-11 12:41:10

标签: c# xml rest

我是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错误?

2 个答案:

答案 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();