Google People API中Person对象的空引用异常[重复]

Posted

技术标签:

【中文标题】Google People API中Person对象的空引用异常[重复]【英文标题】:Null reference exception on Person object in Google People API [duplicate] 【发布时间】:2021-10-07 15:15:12 【问题描述】:

我正在尝试将联系人添加到我的 Google 联系人帐户。这是代码:

            // Create new contact
            Google.Apis.PeopleService.v1.Data.Person person = new Google.Apis.PeopleService.v1.Data.Person();
            Name chef = new Name();
            chef.GivenName = "FirstName";
            chef.FamilyName = "FamilyName";
            EmailAddress email = new EmailAddress();
            email.Type = "work";
            email.Value = "firstname.familyname@something.com";
            person.EmailAddresses.Add(email);

            person.Names.Add(chef);

            ContactToCreate contactToCreate = new ContactToCreate();
            contactToCreate.ContactPerson = person;
            BatchCreateContactsRequest request = new BatchCreateContactsRequest();
            request.Contacts.Add(contactToCreate);
            request.ReadMask = "names";

            BatchCreateContactsResponse reply = service.People.BatchCreateContacts(request).Execute();

身份验证和列出联系人组工作正常。如果我将姓名或电子邮件地址添加到人员对象,我会收到空​​引用异常。

为什么?

【问题讨论】:

你确定'Person'对象的'Names'属性已经被初始化了吗?您可能需要执行类似“person.Names = new List();”的操作在您可以添加之前。 【参考方案1】:

您不能添加到需要从 EmailAddress 构建对象的空列表中

person.EmailAddresses = new List<EmailAddress>();

person.Names = new List<Name>();

request.Contacts = new List<Contact>();

【讨论】:

正确。这也是我几分钟前发现的。谢谢。

以上是关于Google People API中Person对象的空引用异常[重复]的主要内容,如果未能解决你的问题,请参考以下文章

当我请求 google people api 时没有最后修改的时间戳

我可以在 Google People API 和 Task API 中创建扩展属性吗?

使用 google people api 获取群组的联系人

在 Google Apps 脚本中使用 Google People API 删除联系人返回 404 错误

传递日期对象时,人员 API 未创建生日

使用 Google Scripts 从 Google People API 获取 google 联系人电子邮件目录中的电子邮件列表