ASP.NETアプリケーションからSharepointドキュメントライブラリからファイルをダウンロードしようとしています。ファイルのリストを取得できましたが、同じコンテキストを使用してダウンロードすると、(401)Unauthorizedエラーが発生しました。問題はthis questionに似ていますが、ユーザーがサインインしなくてもファイルをダウンロードしようとしているので、ユーザー名とパスワードはありません。 、ユーザーログインなしでSharePointドキュメントライブラリからダウンロード
using (var ctx = TokenHelper.GetClientContextWithAccessToken(ConfigurationManager.AppSettings("url"), TokenHelper.GetAppOnlyAccessToken(TokenHelper.SharePointPrincipal, siteUri.Authority, realm).AccessToken))
{
var web = ctx.Web;
Microsoft.SharePoint.Client.File file = web.GetFileByServerRelativeUrl(fromLocation);
ctx.Load(file);
ctx.ExecuteQuery();
var fileInfo = Microsoft.SharePoint.Client.File.OpenBinaryDirect(ctx, file.ServerRelativeUrl);
using (var ms = new MemoryStream())
{
fileInfo.Stream.CopyTo(ms);
return ms.ToArray();
}
}