使用Google应用程序配置API将用户添加到组织单位和组

本文关键字:单位 添加 用户 应用程序 Google 配置 API 使用 | 更新日期: 2023-09-27 18:26:38

我已经在.Net中完成了使用google Apps Provisioning API创建google帐户的编码。我成功地创建了谷歌帐户,但我无法将用户添加到特定的组织单位和组。我已经实现了这样的账户创建目标:

//Creating Google Account
 AppsService appService = new AppsService("Mydomain", "AdminUsername", "AdminPassword");
         try
                {
                var account = appService.CreateUser(googleEmail, FirstName.Text, LastName.Text, password);
                }
                catch (Exception ex)
                {
                    ResultsLabel.Text += "<br />Can't create this Google Account";
                }

添加用户后,它会在谷歌的主域"用户"下创建。但我必须将该用户放入他们所属的组织单元,在我的情况下,我需要将用户放入"工作人员"组织单元。我不确定applicationName是什么意思,我只是在使用项目解决方案名称,还是在这里没有使用正确的名称?applicationinName是什么意思?我应该使用什么?在下面的代码中,我使用CustomerID作为"GoogleCustomerId",这是我从谷歌为我们的域获得的。我已经完成了这样的编码,这对将用户添加到组织单元不起作用:

//Adding User to Organization Unit

                OrganizationService service = new OrganizationService("mydomain", "applicationName");
                service.setUserCredentials("AdminUsername", "AdminPassword");
                service.UpdateOrganizationUser("GoogleCustomerId", Email.Text, "Staff", "Users"); 

我用上面的代码将用户添加到组织单元:中,得到了这个异常

Google.GData.Client.GDataRequestException was unhandled by user code
  HResult=-2146233088
  Message=Execution of request failed: https://apps-apis.google.com/a/feeds/orguser/2.0/C090ll5hh/Test@domain.com
  Source=Google.GData.Client
  ResponseString=<?xml version="1.0" encoding="UTF-8"?>
<AppsForYourDomainErrors>
  <error errorCode="1801" invalidInput="" reason="InvalidValue" />
</AppsForYourDomainErrors>

这是我将用户添加到组的代码,但它也不起作用,我需要将用户添加staff@mydomain.com组:

//Adding User to Group

   service.Groups.AddMemberToGroup("staff@mydomain.com", username);

你知道这个吗?

感谢

使用Google应用程序配置API将用户添加到组织单位和组

经过进一步的研究和对代码的更改,添加到组织单元和组现在正在工作。我必须为"StringoldOrgUnitPath"加上"/",因为它是最初添加用户的顶级组织单元。

//将用户添加到组织单元

            OrganizationService service = new OrganizationService("mydomain", "applicationName");
            service.setUserCredentials("AdminUsername", "AdminPassword");
            service.UpdateOrganizationUser("GoogleCustomerId", Email.Text, "Staff", "/"); 

为了使添加到小组工作,我必须在代码中进行此更改。我们不应该将@domain.com与组名一起使用,并且切换电子邮件id和组名的位置是有效的。

//Adding User to Group
   service.Groups.AddMemberToGroup(Email.Text, "Staff");

感谢

关于Google,此API将于2015年4月底停止工作。

自去年以来,我在这个API上遇到了一些问题,我决定看看"新的"API:https://developers.google.com/admin-sdk/directory/

即使你现在解决了这个问题,如果你希望你的应用程序在未来顺利运行,我建议你检查新的API。

祝你好运!