Method: people.updateContact

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

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

如果 person.metadata.sources.etag 与联系人的 etag 不同,服务器会返回原因为 "failedPrecondition" 的 400 错误。该 ETag 表示相应联系人在读取其数据之后发生了变化。客户应获得最新人员,并将其更新合并到最新人员中。

如果 memberships 被更新,且用户未指定联系人群组成员资格,则服务器会返回 400 错误。

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

  • 传记
  • 生日
  • 性别
  • names

应依序发送针对同一用户的转变请求,以避免延迟时间增加和失败。

HTTP 请求

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

网址采用 gRPC 转码语法。

路径参数

参数
person.resourceName

string

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

查询参数

参数
updatePersonFields

string (FieldMask format)

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

  • addresses
  • 传记
  • 生日
  • 日历网址
  • 客户端数据
  • emailAddresses
  • events
  • externalId
  • 性别
  • IMClient
  • 兴趣
  • locales
  • 地理位置
  • memberships
  • 其他关键字
  • names
  • 昵称
  • 职业
  • organizations
  • phoneNumbers
  • 关系
  • sipAddress
  • 网址
  • 用户指定
personFields

string (FieldMask format)

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

  • addresses
  • ageRanges [年龄段]
  • 传记
  • 生日
  • 日历网址
  • 客户端数据
  • 封面照片
  • emailAddresses
  • events
  • externalId
  • 性别
  • IMClient
  • 兴趣
  • locales
  • 地理位置
  • memberships
  • 元数据
  • 其他关键字
  • names
  • 昵称
  • 职业
  • organizations
  • phoneNumbers
  • 照片
  • 关系
  • sipAddress
  • skills
  • 网址
  • 用户指定
sources[]

enum (ReadSourceType)

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

请求正文

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

响应正文

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

授权范围

需要以下 OAuth 作用域:

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

如需了解详情,请参阅授权指南