【发布时间】:2018-10-10 15:43:17
【问题描述】:
我正在尝试从客户端 Sharepoint 站点下载文件。我正在使用共享点 CSOM。
我的代码如下:
using Microsoft.SharePoint.Client;
var username = "username";
var password = "pass";
var url = "https://myclient.sharepoint.com/";
var fileurl = "https://myclient.sharepoint.com/teams/folder1/folder%20x/somefile.docx";
using (ClientContext context = new ClientContext(url))
{
SecureString passWord = new SecureString();
foreach (char c in password.ToCharArray()) passWord.AppendChar(c);
context.Credentials = new SharePointOnlineCredentials(username, passWord);
Uri filename = new Uri(fileurl);
string server = filename.AbsoluteUri.Replace(filename.AbsolutePath, "");
string serverrelative = filename.AbsolutePath;
Microsoft.SharePoint.Client.File file = context.Web.GetFileByServerRelativeUrl(serverrelative);
context.Load(file);
ClientResult<Stream> streamResult = file.OpenBinaryStream();
context.ExecuteQuery();
var file2 = streamResult.Value;
}
问题是我被拒绝访问,但是当我使用相同的凭据登录时,我可以成功下载文件。
- Sharepoint 中是否有从 API 而不是 UI 下载文件的单独权限?
- 文件夹名称中的空格是否有问题?
更新
已验证这与文件夹或文件名中的空格无关。
【问题讨论】:
标签: c# sharepoint csom