Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
REST C#获取列表项_C#_Xml_Rest - Fatal编程技术网

REST C#获取列表项

REST C#获取列表项,c#,xml,rest,C#,Xml,Rest,我对REST API完全陌生。 我想从C#中的外部站点检索xml格式的ListItems。 我已经得到了该网站的用户名和密码(顺便说一句,它使用混合身份验证) HttpWebRequest endpointRequest=(HttpWebRequest)HttpWebRequest.Create(“https:///_api/web/lists"); endpointRequest.Method=“GET”; endpointRequest.Accept=“application/atom+xm

我对REST API完全陌生。
我想从C#中的外部站点检索xml格式的ListItems。
我已经得到了该网站的用户名和密码(顺便说一句,它使用混合身份验证)

HttpWebRequest endpointRequest=(HttpWebRequest)HttpWebRequest.Create(“https:///_api/web/lists");
endpointRequest.Method=“GET”;
endpointRequest.Accept=“application/atom+xml”;
//endpointRequest.Headers.Add(“授权”、“承载人”+accessToken);
endpointRequest.Headers[“Authorization”]=“Basic”+Convert.ToBase64String(Encoding.Default.GetBytes(“\\:”);
HttpWebResponse endpointResponse=(HttpWebResponse)endpointRequest.GetResponse();
我正在使用我在MSDN上找到的这段代码。
有谁能告诉我如何获得访问令牌吗?

为什么会出现403禁止错误?

我认为您可以更好地使用NetworkCredential类:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);   
NetworkCredential credentials = new NetworkCredential("testuser", "testpass");  
request.Credentials = credentials;  

当我必须使用我使用的RESTAPI时,无需发送授权头

在您的情况下,您必须这样编写呼叫:

var client = new TinyRestClient(new HttpClient(), "https://<site>/_api/");

client.GetRequest("web/lists")
var client=new TinyRestClient(new HttpClient(),”https:///_api/");
client.GetRequest(“web/list”)
希望这能有所帮助。 使用基本身份验证(“用户名”、“密码”)。
ExecuteAsync()

访问令牌来自您提出请求的网站。每个站点都有不同的方法通过API对用户进行身份验证。以下是Microsoft translator API的方法:。请求令牌的API调用通常基于oAuth,因此您可能需要在这里进行一些研究。当你第一次进入它时,它可能是一个有点深的洞。
var client = new TinyRestClient(new HttpClient(), "https://<site>/_api/");

client.GetRequest("web/lists")