Как создать аккаунт с несколькими псевдонимами?

Я пытаюсь вставить нового пользователя в нашу организацию, и у этого пользователя несколько псевдонимов. У Google_Service_Directory_User есть возможность установить setAliases. При вставке учетная запись предоставляется правильно со всеми правильно установленными атрибутами, за исключением псевдонимов — эти псевдонимы просто игнорируются.

$dirObj = new Google_Service_Directory($client);

$primaryEmail  = '[email protected]';
$alias1        = '[email protected]';
$alias2        = '[email protected]';

$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);

Любые предложения для вставки нового пользователя с псевдонимами?

0

Решение

Вы делаете почти все правильно, за исключением вставки псевдонима. Давайте пройдемся по этому шаг за шагом.

  1. Сначала вы создаете объект каталога, а затем объект пользователя:

    $service = new Google_Service_Directory($client);
    
    $userObj = new Google_Service_Directory_User(
    array(
    "name" => array("givenName" => "Joe", "familyName" => "Schmo99"),
    "primaryEmail" => "[email protected]",
    "password" => $shaPass
    )
    );
    
  2. Затем вы вставляете объект пользователя в учетную запись и сохраняете возвращенный основной адрес электронной почты в переменную:

    $newUser = $service->users->insert($userObj);
    $createdUser = $newUser->primaryEmail;
    
  3. Создайте массив пользовательских псевдонимов, которые вы хотите назначить:

    $userAliases = array("[email protected]", "[email protected]");
    
  4. Переберите массив, создайте объект псевдонима пользователя для каждого псевдонима электронной почты и вставьте их в объект пользователя:

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

Пожалуйста, не забудьте просмотреть официальная документация о том, как вставить псевдонимы для лучшего и более подробного объяснения. Надеюсь, это поможет! 🙂

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]