java - 如何使用 Google Admin SDK Java API 添加用户别名

标签 java google-admin-sdk

我正在使用服务帐户模型和 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/

相关文章:

google-admin-sdk - 管理员如何访问特定域中所有用户的 Google Drive 内容?

java - 查询 Google 的目录 API - 错误 : 400 Bad Request

google-oauth - 为什么具有委派域访问权限的服务帐户仍然需要模拟?

java - 如何查看Google Apps域的管理员?

java - 在 libGDX 中处理动画中剑移动的最佳方法

java - 如何使用 vert.x 在工作线程上应用并发处理

google-cloud-platform - 服务帐户是否必须模拟用户才能访问 Directory Api?

java - 死锁 - Java EE Web 应用程序中阻塞的线程

java - Android 应用程序 - 从站点获取变量

java - 迭代向数组列表添加元素-java