Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在以编程方式将用户添加到组时通知用户_C#_Sharepoint_Csom - Fatal编程技术网

C# 如何在以编程方式将用户添加到组时通知用户

C# 如何在以编程方式将用户添加到组时通知用户,c#,sharepoint,csom,C#,Sharepoint,Csom,我正在使用下面的代码向组中添加成员 我的问题很简单: 使用此代码添加成员时,受邀人员不会收到通知他们的电子邮件。但是,当从UI执行相同操作时,可以选择通知用户。如何从代码中执行此操作? public void UpdateGoupMembers(string groupName, List<string> loginNames) { using (var clientContext = new ClientContext(baseUrl)) { cli

我正在使用下面的代码向组中添加成员

我的问题很简单:

使用此代码添加成员时,受邀人员不会收到通知他们的电子邮件。但是,当从UI执行相同操作时,可以选择通知用户。如何从代码中执行此操作?

public void UpdateGoupMembers(string groupName, List<string> loginNames)
{
    using (var clientContext = new ClientContext(baseUrl))
    {
        clientContext.Credentials = credentials;
        var web = clientContext.Web;

        var group = web.SiteGroups.GetByName(groupName);

        if (group != null)
        {
            foreach (var loginName in loginNames)
            {
                var user = web.EnsureUser(loginName);

                if (user != null)
                {
                    group.Users.AddUser(user);
                }
            }

            var existingUsers = group.Users;

            clientContext.Load(existingUsers, includes => includes.Include(
                f => f.LoginName,
                f => f.UserId,
                f => f.PrincipalType,
                f => f.Email,
                f => f.Id));

            clientContext.ExecuteQuery();

            foreach (var existingUser in existingUsers)
            {
                var userName = existingUser.LoginName.Split('|')[2];
                if (!loginNames.Contains(userName))
                {
                    group.Users.RemoveByLoginName(existingUser.LoginName);
                }
            }
        }

        clientContext.ExecuteQuery();
    }
}
public void UpdateGoupMembers(字符串组名、列表登录名)
{
使用(var clientContext=newclientcontext(baseUrl))
{
clientContext.Credentials=凭据;
var web=clientContext.web;
var group=web.SiteGroups.GetByName(groupName);
如果(组!=null)
{
foreach(loginNames中的var loginName)
{
var user=web.EnsureUser(loginName);
如果(用户!=null)
{
group.Users.AddUser(用户);
}
}
var existingUsers=group.Users;
加载(现有用户,includes=>includes.Include(
f=>f.LoginName,
f=>f.UserId,
f=>f.PrincipalType,
f=>f.电子邮件,
f=>f.Id));
clientContext.ExecuteQuery();
foreach(existingUsers中的var existingUser)
{
var userName=existingUser.LoginName.Split(“|”)[2];
如果(!loginNames.Contains(用户名))
{
group.Users.RemoveByLoginName(existingUser.LoginName);
}
}
}
clientContext.ExecuteQuery();
}
}

我认为,当用户以编程方式添加到基于该方法的组中时,不可能发送欢迎电子邮件

但是,在将特定用户添加到组后,您可以使用CSOM库以编程方式向特定用户发送电子邮件。将是一个伟大的参考如何做到这一点