Sharepoint 连接失败(Winforms,VB.Net)
Sharepoint connection fails (Winforms, VB.Net)
我做了一个小开发,其中需要连接到 SharePoint 列表,该开发对我的用户运行良好,但是当对另一个在网站上具有相同权限的用户进行测试时,它会发送以下错误消息
"The sign-in name or password does not match one in the Microsoft Account System. "
我已经尝试让其他用户知道该网站是所有者,但我得到了相同的结果。
你能帮我看看上面的错误是什么吗?
这是我的代码。
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
提前致谢。
用户帐户是否启用了 MFA 身份验证?
我使用没有 MFA 的普通用户帐户测试了相同的代码片段,它按预期工作。
请检查 MFA 状态:
如果启用 MFA,请将其禁用,因为 CSOM 目前不支持 MFA。
这是在共享点登录的解决方案代码。
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
抱歉耽搁了。
此致。
我做了一个小开发,其中需要连接到 SharePoint 列表,该开发对我的用户运行良好,但是当对另一个在网站上具有相同权限的用户进行测试时,它会发送以下错误消息
"The sign-in name or password does not match one in the Microsoft Account System. "
我已经尝试让其他用户知道该网站是所有者,但我得到了相同的结果。 你能帮我看看上面的错误是什么吗?
这是我的代码。
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
提前致谢。
用户帐户是否启用了 MFA 身份验证?
我使用没有 MFA 的普通用户帐户测试了相同的代码片段,它按预期工作。
请检查 MFA 状态:
如果启用 MFA,请将其禁用,因为 CSOM 目前不支持 MFA。
这是在共享点登录的解决方案代码。
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
抱歉耽搁了。
此致。