使用Google Directory API将用户添加到组织单位和组

时间:2015-09-02 20:13:52

标签: c# asp.net google-admin-sdk google-directory-api

我成功使用.Net平台中的Google Directory API创建新用户帐户,但现在我需要将创建的用户添加到组织单位和组。我在此链接中看到API详细信息以将用户添加到组织单位,但是非常感谢显示插入组织单位的任何示例。

已更新工作代码:以下是使用Directory API创建新用户帐户的代码:

String serviceAccountEmail = ".........@developer.gserviceaccount.com";
                X509Certificate2 certificate = new X509Certificate2(@"C:\key.p12", "secret", X509KeyStorageFlags.Exportable);
                ServiceAccountCredential credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail)
                {
                    Scopes = new[]
                        {
                          DirectoryService.Scope.AdminDirectoryUser
                        },
                    User = "test@example.com",

                }.FromCertificate(certificate));

                var ser = new DirectoryService(new BaseClientService.Initializer()
                {
                    HttpClientInitializer = credential,
                    ApplicationName = "Google Account",
                });
                try
                {                           
                    var user = new Google.Apis.Admin.Directory.directory_v1.Data.User()
                    {
                        Name = new Google.Apis.Admin.Directory.directory_v1.Data.UserName()
                        {

                            GivenName = FirstName.Text,
                            FamilyName = LastName.Text
                        },
                        Password = password
                    };

                    User newUser = new User();
                    UserName newUserName = new UserName();
                    newUser.PrimaryEmail = Email.Text;
                    newUserName.GivenName = FirstName_txt.Text;
                    newUserName.FamilyName = LastName_txt.Text;
                    newUser.Name = newUserName;
                    newUser.Password = password;

                 //Adding User to OU:
                    newUser.OrgUnitPath = "/Employee";
                    User results = ser.Users.Insert(newUser).Execute();

                //Adding User to Group:
                   Member newMember = new Member();
                   newMember.Email = Email.Text;
                   newMember.Role = "MEMBER";
                   newMember.Kind = "admin#directory#member";
                   api.Members.Insert(newMember, "Employee@example.com").Execute();    

知道如何使用Directory API在组织单位和组中插入创建的用户吗?

1 个答案:

答案 0 :(得分:1)

要将新用户插入组织单位,只需在创建用户时设置OU路径。

    User newUser = new User();
    UserName newUserName = new UserName();
    newUser.PrimaryEmail = Email.Text;
    newUserName.GivenName = FirstName_txt.Text;
    newUserName.FamilyName = LastName_txt.Text;
    newUser.Name = newUserName;
    newUser.Password = password;
    **newUser.OrgUnitPath ="\My\Organization\Unit\path\";**
    User results = ser.Users.Insert(newUser).Execute();

现在您的用户已添加到OU路径。

要将成员添加到组中,请参阅以下代码。

    Member newMember = new Member();
    newMember.Email = userKey;//email of the user that you want to add
    newMember.Role = "MEMBER";
    newMember.Type = "USER";
    newMember.Kind = "admin#directory#member";

    ser.Members.Insert(newMember, "MyDestinationGroup@mydomain").Execute();

它是什么。
注意:您必须查看范围以获得正确的权限 希望这能帮助你。