CSOM不使用Windows凭据,并给出“远程服务器返回错误:403禁止”错误

问题描述

我有一个使用.NET Framework的控制台应用程序,该应用程序使用CSOM上传文件。当我运行应用程序时,出现以下错误:

远程服务器返回错误:(403)禁止。

但是,当我通过Windows凭据时,它可以正常工作。由于安全目的,我不想在代码中对我的凭证进行硬编码。除了在代码中传递凭据以外,还有其他解决方法吗?

我的代码如下:

using System;
using System.IO;
using System.Linq;
using System.Security;
using Microsoft.SharePoint.Client;
using ClientOM = Microsoft.SharePoint.Client;


namespace ConsoleApp3
{

class Program
{
    static void Main(string[] args)
    {

        ClientContext clientContext = new ClientContext("https://companyname.sharepoint.com");

        //SecureString passWord = new SecureString();
        //foreach (char c in "HelloWorld@1234".ToCharArray()) passWord.AppendChar(c);
        //clientContext.Credentials = new SharePointOnlineCredentials("[email protected]",passWord);
        clientContext.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials;

        using(FileStream fileStream = new FileStream(@"C:\Users\jay.desai\Desktop\LSRSQL01_ACXM_20201003.html",FileMode.Open))
            ClientOM.File.SaveBinaryDirect(clientContext,"/sites/DataServices/Shared Documents/Data Dictionaries/LSRSQL01_ACXM_20201003.html",fileStream,true);
    }
}

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)