Method: people.updateContact

更新现有联系人的联系人数据。系统不会修改任何非联系人数据。要更新的联系人的任何非联系人数据都将被忽略。在 updateMask 中指定的所有字段都将被替换。

如果没有为要更新的联系人指定 person.metadata.sources,或者没有联系人来源,则服务器会返回 400 错误。

如果 person.metadata.sources.etag 与联系人的 etag 不同,则服务器会返回原因为 "failedPrecondition" 的 400 错误,这表明联系人在读取其数据后发生了更改。客户端应获取最新用户并将其更新合并到最新用户中。

如果正在更新 memberships,但没有为该联系人指定联系人群组成员资格,则服务器会返回 400 错误。

如果为联系人来源的单例字段指定了多个字段,则服务器会返回 400 错误:

  • 传记
  • 生日
  • 性别
  • names

应按顺序发送同一用户的 mutate 请求,以避免延迟时间增加和失败。

HTTP 请求

PATCH https://people.googleapis.com/v1/{person.resourceName=people/*}:updateContact

网址采用 gRPC 转码语法。

路径参数

参数
person.resourceName

string

此人的资源名称,由服务器分配。格式为 people/{person_id} 的 ASCII 字符串。

查询参数

参数
updatePersonFields

string (FieldMask format)

必需。用于限制要更新人员内哪些字段的字段掩码。可以指定多个字段,用英文逗号分隔各个字段。所有更新后的字段都将被替换。有效值包括:

  • addresses
  • 传记
  • 生日
  • calendarUrls
  • clientData
  • emailAddresses
  • events
  • externalIds
  • 性别
  • imClients
  • 兴趣
  • locales
  • 位置
  • memberships
  • miscKeywords
  • names
  • 昵称
  • 职业
  • organizations
  • phoneNumbers
  • 关系
  • sipAddresses
  • urls
  • userDefined
personFields

string (FieldMask format)

可选。字段掩码,用于限制返回每个人上的哪些字段。可以指定多个字段,用英文逗号分隔各个字段。如果未设置,则默认为所有字段。有效值包括:

  • addresses
  • ageRanges
  • 传记
  • 生日
  • calendarUrls
  • clientData
  • coverPhotos
  • emailAddresses
  • events
  • externalIds
  • 性别
  • imClients
  • 兴趣
  • locales
  • 位置
  • memberships
  • 元数据
  • miscKeywords
  • names
  • 昵称
  • 职业
  • organizations
  • phoneNumbers
  • 照片
  • 关系
  • sipAddresses
  • skills
  • urls
  • userDefined
sources[]

enum (ReadSourceType)

可选。要返回哪些来源类型的掩码。如果未设置,则默认为 READ_SOURCE_TYPE_CONTACTREAD_SOURCE_TYPE_PROFILE

请求正文

请求正文包含一个 Person 实例。

响应正文

如果成功,则响应正文包含一个 Person 实例。

授权范围

需要以下 OAuth 作用域:

  • https://www.googleapis.com/auth/contacts

有关详情,请参阅授权指南