我正在尝试使用REST Web服务在Project Server 2013中创建项目,但是当我尝试向项目服务器发出POST请求时,我收到了403 Forbidden Exception。基本的疑问是“Project Server是否允许执行POST请求?”
对于GET和POST请求,以及Project Server
,端点URL是否保持相同请为此提供一些输入。
守则如下: -
Guid pguid = new Guid();
string projGuid = pguid.ToString();
string projName = "Mercedes";
string startDate = DateTime.Now.ToShortDateString().ToString();
string URI = "http://ServerName/projectservername/_api/ProjectData/Projects";
//string URI = "http://ServerName/projectservername/Projects.aspx";
//string myParameters = "BaselineNumber=0&ProjectId=c34ca0f0-1acd-e211-b2e80155def232b&ProjectName=ProjName;
string myParameters = "ProjectId=" + projGuid + "&ProjectName=" + projName + "&ProjectStartDate="+ startDate;
using (WebClient wc = new WebClient())
{
wc.Credentials = new System.Net.NetworkCredential(username, password, domain);
wc.Headers[HttpRequestHeader.ContentType] = "application/x-www-form-urlencoded";
wc.Headers.Add("X-HTTP-Method", "PUT");
string HtmlResult = wc.UploadString(URI, myParameters);
// WebHeaderCollection head = wc.ResponseHeaders;
Console.WriteLine(HtmlResult);
Console.WriteLine("Bye");
}
答案 0 :(得分:1)
/ _ api / ProjectData是SharePoint / Project Server 2010中的只读ODATA端点。在许多情况下,报告类型查询更方便,但设计的远不止于此。 / _api / ProjectServer允许您执行CRUD操作,或调用其他Project Server方法,例如提交到工作流。与SharePoint一样,您需要首先获取X-Request-Digest标记,然后使用 - / _api / ContextInfo通过POST调用CUD操作,然后调用/ _api / ProjectServer
与ProjectData服务的OData接口不同,它是 只读报告,您可以使用REST查询执行CRUD操作 使用ProjectServer服务。