我想使用以下代码将项目添加到sharepoint中的列表:
"v=spf1 redirect=mydomain.com"
使用以下代码调用上述方法:
protected string httpGetPost(string getPostMode, string url, string dataToPost = "")
{
HttpWebRequest endpointRequest = (HttpWebRequest)WebRequest.Create(url);
endpointRequest.Method = getPostMode;
var credentialCache = new CredentialCache();
credentialCache.Add(
new Uri(endpointRequest.RequestUri.GetLeftPart(UriPartial.Authority)), // request url's host
"Digest", // authentication type
new NetworkCredential(userName, password) // credentials
);
endpointRequest.Credentials = credentialCache;
endpointRequest.Accept = "application/json;odata=verbose";
endpointRequest.ContentType = "application/json;odata=verbose";
if (!string.IsNullOrEmpty(dataToPost))
{
using (Stream dataStream = endpointRequest.GetRequestStream())
{
byte[] bs = Encoding.ASCII.GetBytes(dataToPost);
dataStream.Write(bs, 0, bs.Length);
}
}
using (var resp = endpointRequest.GetResponse())
{
var html = new StreamReader(resp.GetResponseStream()).ReadToEnd();
return html;
}
}
这是我发布的数据:
{“__ metadata”:{“type”:“SP.Data.Test_x0020_ListListItem”},“标题”: “测试”,“B栏”,“BBB”}
我看了一下这个网站httpGetPost("POST", url, "{\"__metadata\": { \"type\": \"SP.Data.Test_x0020_ListListItem\" }, \"Title\": \"Test\", \"Column B\", \"BBB\"}");
,但是授权是不同的,它使用的是accessstoken,但问题出在这里:
在这个网站:https://msdn.microsoft.com/en-us/library/office/dn292552.aspx
,它说我无法获得accessstoken,所以我使用用户名和密码登录sharepoint,但是这里出现了另一个问题:
http://sharepoint.stackexchange.com/questions/69617/sharepoint-2013-oauth-url-to-get-token
中出现System.Net.WebException
,错误是var resp = endpointRequest.GetResponse()
该帐户是域管理员以及共享点管理员。
为什么我仍然收到403错误?
由于某些原因,我只能使用REST API与sharepoint进行通信。
答案 0 :(得分:1)
这是实现目标的略有不同的方法。在此示例中,某些对象特定于Store Apps,但它们都可以轻松地替换为标准应用中的其他值。
toFixed