Sharepoint REST API客户端控制台应用程序C#
我正在寻找从C#Console应用程序中使用Sharepoint REST API的示例(更确切地说,请阅读Sharepoint列表)。微软网站上有一些教程,但我认为它们不完整。例如,这一个没有显示如何获取访问令牌,我找不到任何用于此的演示代码: 本教程正是我需要的,但代码不起作用: 不起作用的是这一行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 有人能给我指
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(用户名、密码)
来实现。