繁体   English   中英

使用 Google Admin API (C# /.Net) - 如何向用户添加第一个关系?

[英]Using Google Admin API (C# / .Net)-- how can I add a first relationship to a user?

我有工作代码,可以使用 HR SQL 数据库中的数据更新用户名和主管。 一切正常,直到我尝试更新在 Google 中没有经理的用户的主管。 object 返回的 UserToUpdate.Relations 等于 null。 似乎我应该能够创建一个关系,但是当我尝试将 UserRelation 项添加到用户时,它会出现“System.NullReferenceException:'对象引用未设置为 object 的实例。'”错误。 有什么建议吗? 如果他们还没有关系,有没有办法添加与用户的关系?

我正在运行的代码:

User UpdateUser = service.Users.Get(sUserEmail).Execute();
//code here to look up data in sql
UserRelation UR = new UserRelation();
UR.Type = "manager";
UR.Value = sManagersEmail;
UpdateUser.Relations.Add(UR);  //this is where it fails
service.Users.Update(UpdateUser, sUserEmail).Execute();

我也尝试过使用.Insert 方法而不是.Add:

 UpdateUser.Relations.Insert(0,UR);  //this also fails

无济于事——同样的结果。

对于已经有经理的用户,这有效:

UpdateUser.Relations[0].value = sManagersEmail; 

我找不到任何进一步的参考来对.Net 做任何事情; 我看到了如何使用.net 的 API 之外的 JSON 帖子来做到这一点,但似乎我不应该这样做......

谢谢!

您应该检查用户 object 上的关系属性是否不是 null,否则实例化一个空列表,您将在其中添加新的关系 object。

尝试使用它来代替失败的代码行:

if(UpdateUser.Relations == null){
 UpdateUser.Relations = new List<UserRelation>();
}
UpdateUser.Relations.Add(UR);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM