本文介绍了CSOM:将文档从一个库复制到另一个库-远程服务器返回403禁止错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用下面的代码将文档从一个库复制到另一个库,但遇到远程服务器403禁止的错误,行""destConext.ExecuteQuery();"",即使服务帐户是目标记录库的网站集管理员也是如此。
var absoluteUrl = new Uri(ctx.Url).GetLeftPart(UriPartial.Authority) + bookLocation;
var srcUrl = absoluteUrl;
var destUrl = "https://xxx/sites/abcArchive";
var srcLibrary = "Documents";
var destLibrary = "Record Library";
ClientContext destContext = new ClientContext(destUrl);
ClientContext srcContext = new ClientContext(srcUrl);
Web srcWeb = srcContext.Web;
List srcList = srcWeb.Lists.GetByTitle(srcLibrary);
Web destWeb = destContext.Web;
destContext.Load(destWeb);
**destContext.ExecuteQuery();**
try
{
Microsoft.SharePoint.Client.File file = srcContext.Web.GetFileByServerRelativeUrl(bookLocation);
srcContext.Load(file);
srcContext.ExecuteQuery();
string location = destWeb.ServerRelativeUrl.TrimEnd('/') + "/" + destLibrary.Replace(" ", "") + "/" + file.Name;
FileInformation fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(srcContext, file.ServerRelativeUrl);
Microsoft.SharePoint.Client.File.SaveBinaryDirect(destContext, location, fileInfo.Stream, true);
}
除了将网站集管理员权限授予存档库上的服务帐户之外,我无法理解还需要设置哪些其他权限。我们非常感谢您的帮助。
推荐答案
缺少登录凭据。
在ClientContext
var strPassword = "password";
SecureString secureString = new SecureString();
strPassword.ToList().ForEach(secureString.AppendChar);
destContext.Credentials = new SharePointOnlineCredentials("xxx@xxx.onmicrosoft.com", secureString);
srcContext.Credentials = new SharePointOnlineCredentials("xxx@xxx.onmicrosoft.com", secureString);
这篇关于CSOM:将文档从一个库复制到另一个库-远程服务器返回403禁止错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!