我正在尝试在Sharepoint服务器中的Project Web access(PWA)上执行一些操作。
我需要做两件事:
- 在“自定义字段过滤器”中查找项目站点
- 将PDF文档上载到相关的Document文件夹中
我创建了一个控制台应用程序来执行此操作,但是我发现一些我无法解决的问题
这是我的代码:
class Program
{
static void Main(string[] args)
{
var webLists = PerformGetOperation(Geturi("/_api/web/lists"));
var pwaProject = PerformGetOperation(Geturi("/_api/ProjectData/Projects?$select=ProjectId&$filter=(Field eq 'Filter')"));
Console.Write(webLists);
Console.Write(pwaProject);
Console.ReadLine();
}
static JObject PerformGetOperation(Uri uri)
{
HttpWebRequest endpointRequest = (HttpWebRequest)WebRequest.Create(uri);
endpointRequest.Method = "GET";
endpointRequest.accept = "application/json;odata=verbose";
endpointRequest.Credentials = getcredentials();
try
{
webresponse webresponse = endpointRequest.GetResponse();
Stream webStream = webresponse.GetResponseStream();
using (StreamReader responseReader = new StreamReader(webStream))
{
string response = responseReader.ReadToEnd();
return JObject.Parse(response);
}
}
catch (Exception e)
{
Console.Out.WriteLine(e.Message); Console.ReadLine();
return null;
}
}
static Uri Geturi(string api)
{
var sharepointRoot = "https://mysharepointserver/pwa";
return new Uri(sharepointRoot + api);
}
static NetworkCredential getcredentials()
{
return new NetworkCredential("mynetworkUser","mynetworkPassword","mynetworkDomain");
}
}
WebLists可以正常返回,但是我在第二个请求中遇到了错误:
Resource not found for the segment 'Projects'.
但是从浏览器发送来的Uri就像一个魅力 https://mysharepointserver/pwa/_api/ProjectData/Projects?$ select = ProjectId&$ filter = {Field Eq'filter value')
总结一下。我不知道如何使用Sharepoint REST API 还...我只有一个用户帐户来访问Sharepoint。 我没有通过AppRegNew.aspx页面注册任何应用程序
关于如何完成这两项任务的任何想法?
编辑: 我忘了问SharePoint网站是否必须启用OAuth?