Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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
Sharepoint REST API客户端控制台应用程序C#_Sharepoint_Sharepoint Rest Api - Fatal编程技术网

Sharepoint REST API客户端控制台应用程序C#

Sharepoint REST API客户端控制台应用程序C#,sharepoint,sharepoint-rest-api,Sharepoint,Sharepoint Rest Api,我正在寻找从C#Console应用程序中使用Sharepoint REST API的示例(更确切地说,请阅读Sharepoint列表)。微软网站上有一些教程,但我认为它们不完整。例如,这一个没有显示如何获取访问令牌,我找不到任何用于此的演示代码: 本教程正是我需要的,但代码不起作用: 不起作用的是这一行var authCookie=credentials.GetAuthenticationCookie(webUri)。即使所有webUri、用户名和密码都正确,它也始终返回null 有人能给我指

我正在寻找从C#Console应用程序中使用Sharepoint REST API的示例(更确切地说,请阅读Sharepoint列表)。微软网站上有一些教程,但我认为它们不完整。例如,这一个没有显示如何获取访问令牌,我找不到任何用于此的演示代码:

本教程正是我需要的,但代码不起作用:

不起作用的是这一行
var authCookie=credentials.GetAuthenticationCookie(webUri)。即使所有webUri、用户名和密码都正确,它也始终返回null


有人能给我指出正确的方向或给我一个客户端代码的例子吗?服务器正在运行Sharepoint 2013。

我的测试代码供您参考:

static void Main(string[] args)
        {
            HttpWebRequest endpointRequest = (HttpWebRequest)HttpWebRequest.Create("http://sp/_api/web");
            endpointRequest.Method = "GET";
            endpointRequest.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
            endpointRequest.Credentials = System.Net.CredentialCache.DefaultCredentials;
            HttpWebResponse endpointResponse = (HttpWebResponse)endpointRequest.GetResponse();
            try
            {
                WebResponse webResponse = endpointRequest.GetResponse();
                Stream webStream = webResponse.GetResponseStream();
                StreamReader responseReader = new StreamReader(webStream);
                string response = responseReader.ReadToEnd();//results
                responseReader.Close();
                Console.WriteLine(response);
                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.Out.WriteLine(e.Message); Console.ReadLine();
            }
        }
或者您可以使用以下凭据:

var username = "administrator";
             var password = "P@ssw0rd";
             var domain = "contoso";
             endpointRequest.Credentials=new System.Net.NetworkCredential(username, password, domain);

SharePoint 2013不需要生成访问令牌。

我的测试代码供您参考:

static void Main(string[] args)
        {
            HttpWebRequest endpointRequest = (HttpWebRequest)HttpWebRequest.Create("http://sp/_api/web");
            endpointRequest.Method = "GET";
            endpointRequest.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
            endpointRequest.Credentials = System.Net.CredentialCache.DefaultCredentials;
            HttpWebResponse endpointResponse = (HttpWebResponse)endpointRequest.GetResponse();
            try
            {
                WebResponse webResponse = endpointRequest.GetResponse();
                Stream webStream = webResponse.GetResponseStream();
                StreamReader responseReader = new StreamReader(webStream);
                string response = responseReader.ReadToEnd();//results
                responseReader.Close();
                Console.WriteLine(response);
                Console.ReadLine();
            }
            catch (Exception e)
            {
                Console.Out.WriteLine(e.Message); Console.ReadLine();
            }
        }
或者您可以使用以下凭据:

var username = "administrator";
             var password = "P@ssw0rd";
             var domain = "contoso";
             endpointRequest.Credentials=new System.Net.NetworkCredential(username, password, domain);

SharePoint 2013不需要生成访问令牌。

非常感谢。在我的情况下,我可以通过不像这样传递域
endpointRequest.Credentials=new System.Net.NetworkCredential(username,password)
。非常感谢。在我的情况下,我可以通过不像这样传递域
endpointRequest.Credentials=new System.Net.NetworkCredential(用户名、密码)
来实现。