我正在使用服务帐户模型和 Google 的 Admin SDK Java API 来检索和修改用户。
目标是为现有用户添加别名。
Alias newAlias = new Alias();
newAlias.setId(userID);
newAlias.setAlias(alias);
Directory.Users.Aliases.Insert request = directory.users().aliases().insert(userID, newAlias);
request.execute();
execute() 100% 失败,并显示错误消息:
“参数设置的值与请求中设置的值不一致”
但当然不会识别问题参数或值,或提供建议。
我尝试了 newAlias 中作用域(或非作用域)用户 ID 和别名以及请求中用户 ID 的所有 8 种组合,结果相同。对于所有 8 种组合,我的意思是:
newAlias.setId(userID);
newAlias.setAlias(alias);
insert(userID, newAlias);
newAlias.setId(userID@domain.com);
newAlias.setAlias(alias@domain.com);
insert(userID@domain.com, newAlias);
等等...
非常感谢任何想法。
最佳答案
我认为值得补充的是,虽然我相信上述方法是正确的(使用 Directory.Aliases.Insert)并且我丢失了一些关键信息或犯了错误,但我还尝试通过更新用户对象而不是别名来添加别名,如下所示:
List<String> aliases = new ArrayList<String>();
aliases.add(scopedAlias); //userid@domain.com
User user = new User();
user = retrieveUser(uid); //Gets current record from Google
user.setAliases(aliases);
Directory.Users.Update request
= directory.users().update(uid, user);
request.execute();
这也不起作用。
有人有工作代码的示例吗?
关于java - 如何使用 Google Admin SDK Java API 添加用户别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29087970/