【问题标题】:SharePoint - Select different Account with same email addressSharePoint - 选择具有相同电子邮件地址的不同帐户
【发布时间】:2022-02-22 04:26:58
【问题描述】:

我有两个 MS 帐户:一个是企业帐户,一个是私人帐户。两者都有相同的电子邮件地址,但只有一个拥有 SharePoint 访问权限。我为这些帐户使用了不同的密码,并且此代码有效:

Dim SPOCredentials As SharePointOnlineCredentials = New SharePointOnlineCredentials(userLogin, pwd)

现在我将密码更改为相同的密码(是的,我知道不应该这样做)并且我无法登录到 SharePoint。

如何告诉 SharePointCredentials 必须使用哪个帐户?

这是我当前的代码:

Dim SPOCredentials As SharePointOnlineCredentials = New SharePointOnlineCredentials(userLogin, pwd)
Dim SPCredentials As NetworkCredential = New NetworkCredential(userLogin, pwd)
Using ctx As ClientContext = New ClientContext(SiteUrl)
  Try
    ctx.Credentials = SPOCredentials
    ctx.ExecuteQuery()
    [...]

ctx.ExecuteQuery() 中的错误是

Microsoft.SharePoint.Client.IdcrlException: '登录名或 密码与 Microsoft 帐户系统中的密码不匹配。'

编辑:这也不起作用:

Dim SPOCredentials As SharePointOnlineCredentials = New SharePointOnlineCredentials(userLogin, pwd)
Using ctx As ClientContext = New ClientContext(SiteUrl)
  ctx.Credentials = SPOCredentials
  Dim library As List = ctx.Web.Lists.GetByTitle(docLibTitle)
  ctx.Load(library, Function(x) x.RootFolder.ServerRelativeUrl)
  ctx.ExecuteQuery()
End Using

【问题讨论】:

    标签: sharepoint sharepoint-online


    【解决方案1】:

    • 您可以通过首先设置上下文来更正您的代码,即您为其传递特定凭据的站点,然后通过列表名称和 ID 调用特定的电子邮件地址,因为虽然个人帐户和工作帐户都是如此共享相同的电子邮件地址,但使用不同的 URL 登录。请考虑以下示例以满足您的要求。您可以使用以下脚本作为参考示例,使用个人或工作帐户电子邮件地址登录:-

       ‘ #Set parameter values
         $SiteURL="your site collection url"
         $UserID="your user ID"
         $ListName="your list name"
         $FieldName="your list column name" #Internal Name
         $ListItemID="your list item ID"
         #Get Credentials to connect
         $Cred= Get-Credential
         $Credentials = New-Object 
         Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.Username, 
         $Cred.Password)
         #Setup the context
         $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
         $Ct. Credentials = $Credentials
         #Get the List & Item to update
         $List = $Ctx.Web.lists.GetByTitle($ListName) 
         $ListItem = $List.GetItemById($ListItemID)
         $Ctx.Load($ListItem)
         $Ctx.ExecuteQuery() ‘
    

    • 如果您按照上述方式执行您的 csom sharepoint 在线查询,您将能够通过创建帐户时使用的 ListItem ID 或内部名称,使用特定的电子邮件地址登录工作或个人 sharepoint 在线帐户。

    更多详情请参考以下链接:-

    https://docs.microsoft.com/en-us/answers/questions/429142/user-email-id-casing-different-in-sharepoint-onlin.html

    【讨论】:

    • 要么我不明白这一点,要么它不起作用。我编辑了我的问题并添加了一个新代码 sn-p 以便按照您的给定顺序使用该代码。错误还是一样
    猜你喜欢
    • 2021-05-18
    • 2015-08-30
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 2019-03-20
    • 2013-02-15
    • 2015-05-28
    • 2022-07-17
    相关资源
    最近更新 更多