【问题标题】:How to create account with multiple aliases?如何创建具有多个别名的帐户?
【发布时间】:2017-01-18 01:54:21
【问题描述】:

我正在尝试将一个新用户插入我们的组织,而该用户有多个别名。 Google_Service_Directory_User 具有“setAliases”功能。插入时,帐户已正确配置,所有属性设置正确,减去别名 - 这些别名似乎被忽略了。

$dirObj = new Google_Service_Directory($client);

$primaryEmail  = 'joeschmo99@my.test.domain.com';
$alias1        = 'joetest1@my.test.domain.com';
$alias2        = 'joetest2@my.test.domain.com';

$firstName     = 'Joe';
$lastName      = 'Schmo99';
$shaPass       = sha1($someRandomPass);

$nameObject = new Google_Service_Directory_UserName();
$nameObject->setGivenName($firstName);
$nameObject->setFamilyName($lastName);
$nameObject->setFullName("$firstName $lastName");

$userObject = new Google_Service_Directory_User();
$userObject->setName($nameObject);
$userObject->setPassword($shaPass);
$userObject->setHashFunction('SHA-1');
$userObject->setPrimaryEmail($primaryEmail);
$userObject->setAliases( array( $alias1, $alias2 ));

$results = $dirObj->users->insert($userObject);

print_r($results);

对于插入具有别名的新用户有什么建议吗?

【问题讨论】:

    标签: php google-api google-api-php-client google-directory-api


    【解决方案1】:

    除了别名插入之外,您几乎做对了所有事情。让我们一步一步来。

    1. 首先创建目录对象,然后创建用户对象:

      $service = new Google_Service_Directory($client);
      
      $userObj = new Google_Service_Directory_User(
        array(
          "name" => array("givenName" => "Joe", "familyName" => "Schmo99"),
          "primaryEmail" => "joeschmo99@my.test.domain.com",
          "password" => $shaPass
        )
      );
      
    2. 接下来,将用户对象插入帐户并将返回的主电子邮件保存到变量中:

      $newUser = $service->users->insert($userObj);
      $createdUser = $newUser->primaryEmail;
      
    3. 创建要分配的用户别名数组:

      $userAliases = array("joetest1@my.test.domain.com", "joetest2@my.test.domain.com");
      
    4. 遍历数组,为每个别名邮件创建一个用户别名对象,并将它们插入到用户对象中:

      foreach ($userAliases as $userAlias) {
      
          $newAlias = new Google_Service_Directory_Alias(
            array(
              "alias" => $userAlias,
            )
          );
      
          $service->users_aliases->insert($createdUser, $newAlias);
      
      }
      

    请不要忘记查看official documentation,了解如何插入别名以获得更好、更详细的说明。我希望这有帮助! :)

    【讨论】:

    • 我试图在插入时设置它,但其他方法也可以。谢谢你的例子。
    猜你喜欢
    • 2021-11-21
    • 2019-03-06
    • 1970-01-01
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2010-11-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多