Sharepoint连接失败(Winforms、VB.Net)

Sharepoint连接失败(Winforms、VB.Net),vb.net,winforms,sharepoint,Vb.net,Winforms,Sharepoint,我做了一个小的开发,需要连接到SharePoint列表,该开发对我的用户运行良好,但是当与在站点上具有相同权限的其他用户进行测试时,它会发送以下错误消息 “登录名或密码与Microsoft帐户系统中的不匹配。” 我已经尝试过与其他用户的网站是业主,但我得到了同样的结果。 你能帮我看看上面的错误是什么吗 这是我的密码 Imports Microsoft.SharePoint.Client Imports Microsoft.SharePoint Imports System.Security Im

我做了一个小的开发,需要连接到SharePoint列表,该开发对我的用户运行良好,但是当与在站点上具有相同权限的其他用户进行测试时,它会发送以下错误消息

“登录名或密码与Microsoft帐户系统中的不匹配。”

我已经尝试过与其他用户的网站是业主,但我得到了同样的结果。 你能帮我看看上面的错误是什么吗

这是我的密码

Imports Microsoft.SharePoint.Client
Imports Microsoft.SharePoint
Imports System.Security
Imports System.Net

Public Class Form4

    Dim siteUrl As String = "https://example.sharepoint.com/site/SiteExample/"
    Dim context As New ClientContext(siteUrl)
    Dim web As Web

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Try

            Dim userNameSP As String = TextBox1.Text
            Dim password As String = TextBox2.Text
            Dim secureString As SecureString = New NetworkCredential("", password).SecurePassword

            Dim cred = New SharePointOnlineCredentials(userNameSP, secureString)
            Dim clientContext As New ClientContext(siteUrl)
            clientContext.Credentials = cred
            Dim web As Web = clientContext.Web
            Dim oWebsite As Web = clientContext.Web
            Dim collList As ListCollection = oWebsite.Lists

            Dim oList As List = collList.GetByTitle("Example Test")

            clientContext.Load(oList)

            clientContext.ExecuteQuery()

            Dim query As CamlQuery = CamlQuery.CreateAllItemsQuery()

            query.ViewXml = "<View Scope='RecursiveAll'><Query><ViewFields><FieldRef Name='Category/></ViewFields></Query></View>"

            Dim AllItems As ListItemCollection = oList.GetItems(query)
            clientContext.Load(AllItems)
            clientContext.ExecuteQuery()

            If AllItems.Count > 0 Then

                ... Do Something

            end if

        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
End Class
导入Microsoft.SharePoint.Client
导入Microsoft.SharePoint
导入系统。安全
导入系统.Net
公开课表格4
Dim siteUrl作为字符串=”https://example.sharepoint.com/site/SiteExample/"
Dim上下文作为新的ClientContext(siteUrl)
把网当作网
私有子按钮1\u单击(发送者作为对象,e作为事件参数)处理按钮1。单击
尝试
Dim userNameSP As String=TextBox1.Text
Dim密码为String=TextBox2.Text
Dim secureString As secureString=新网络凭据(“,密码)。SecureSpassword
Dim cred=新的SharePointOnlineCredentials(userNameSP,secureString)
Dim clientContext作为新clientContext(siteUrl)
clientContext.Credentials=cred
Dim web As web=clientContext.web
Dim oWebsite As Web=clientContext.Web
Dim collList As ListCollection=oWebsite.Lists
Dim oList As List=collList.GetByTitle(“示例测试”)
clientContext.Load(oList)
clientContext.ExecuteQuery()文件
Dim查询为CamlQuery=CamlQuery.CreateAllItemsQuery()

query.ViewXml=“用户帐户是否启用了MFA身份验证

我用一个没有MFA的普通用户帐户测试了相同的代码片段,它正常工作

请在以下位置检查MFA状态:


如果启用MFA,请禁用它,因为CSOM当前不支持MFA。

这是登录sharepoint的解决方案代码

      Imports Microsoft.Office.Interop
        Imports System.IO
        
        Imports Microsoft.SharePoint.Client
        Imports Microsoft.SharePoint
        Imports System.Security
        Imports System.Net

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

                Dim siteUrl As String = "https://example.sharepoint.com/sites/TRAINING/"
                Dim authManager = New OfficeDevPnP.Core.AuthenticationManager()
                Dim ctx As ClientContext = authManager.GetWebLoginClientContext(siteUrl)
                Dim web As Web = ctx.Web
                ctx.Load(web, Function(w) w.Title)
                ctx.ExecuteQuery()
                Console.WriteLine("You have connected to {0} site, with Multi Factor Authentication enabled!!", web.Title)
    
            Try
                Do Something...
    
            Catch ex As Exception
                MessageBox.Show("An error occurred:" & Environment.NewLine & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
    
    End Sub
抱歉耽搁了


致意。

@Jerry_MST,感谢您的回答,在这种情况下,MFA已启用,这是因为帐户是公司帐户,无法禁用该选项,是是或是。还有其他建议吗?使用OfficeDevPnP.Core.AuthenticationManager对象来处理MFA,请检查此演示:有任何更新吗?它对您有效吗?它有效,而不是非常感谢你的帮助。问候。