Я пытаюсь вставить нового пользователя в нашу организацию, и у этого пользователя несколько псевдонимов. У 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);
Любые предложения для вставки нового пользователя с псевдонимами?
Вы делаете почти все правильно, за исключением вставки псевдонима. Давайте пройдемся по этому шаг за шагом.
Сначала вы создаете объект каталога, а затем объект пользователя:
$service = new Google_Service_Directory($client);
$userObj = new Google_Service_Directory_User(
array(
"name" => array("givenName" => "Joe", "familyName" => "Schmo99"),
"primaryEmail" => "[email protected]",
"password" => $shaPass
)
);
Затем вы вставляете объект пользователя в учетную запись и сохраняете возвращенный основной адрес электронной почты в переменную:
$newUser = $service->users->insert($userObj);
$createdUser = $newUser->primaryEmail;
Создайте массив пользовательских псевдонимов, которые вы хотите назначить:
$userAliases = array("[email protected]", "[email protected]");
Переберите массив, создайте объект псевдонима пользователя для каждого псевдонима электронной почты и вставьте их в объект пользователя:
foreach ($userAliases as $userAlias) {
$newAlias = new Google_Service_Directory_Alias(
array(
"alias" => $userAlias,
)
);
$service->users_aliases->insert($createdUser, $newAlias);
}
Пожалуйста, не забудьте просмотреть официальная документация о том, как вставить псевдонимы для лучшего и более подробного объяснения. Надеюсь, это поможет! 🙂
Других решений пока нет …