如何在c#中使用REST API获取列表项

时间:2016-02-05 07:22:22

标签: c# api rest sharepoint-online

我想在c#中使用REST API在线检索所有SharePoint列表。 为此,我使用下面的代码

HttpWebRequest endpointRequest = (HttpWebRequest)HttpWebRequest.Create("https://o365.sharepoint.com/sites/test-site/_api/web/lists");
endpointRequest.Method = "GET";
endpointRequest.Accept = "application/json;odata=verbose";
endpointRequest.ContentLength = 0;

但我收到的错误

403:禁止访问被拒绝。在此位置打开文件之前。您必须先浏览网站并选择自动登录的选项。

所以我搜索了这个,发现我们必须通过AuthenticationToken,这是用这个链接写的

https://msdn.microsoft.com/en-us/library/jj164022.aspx

endpointRequest.Headers.Add("Authorization", "Bearer " + accessToken);

但是如何获得accessstoken?

1 个答案:

答案 0 :(得分:0)

来自that same page

  

[...]它还假设您拥有存储在 accessToken 变量中的有效OAuth访问令牌。如果您从加载项Web中进行此调用,则不需要访问令牌,就像在SharePoint托管的加载项中一样。请注意,您无法从浏览器客户端上运行的代码获取访问令牌。您必须从服务器上运行的代码中获取访问令牌。 Context Token OAuth flow for SharePoint Add-insAuthentication Code OAuth flow for SharePoint Add-ins解释了如何获取访问令牌。