调用Google People API无法获取联系人自定义字段如何解决
People API无法获取管理员创建的自定义字段解决方案
核心问题出在字段映射、请求参数、权限配置三个环节,按以下步骤排查调整即可:
- 纠正字段对应关系:管理员在admin后台创建的组织级自定义用户属性,不属于
userDefined字段范畴。userDefined仅对应用户为个人联系人手动添加的私有自定义键值对,全局自定义字段对应的返回字段是customFields,你之前在personFields中传的userDefined本身就不匹配目标字段,自然不会返回对应内容。 - 修改请求参数:将请求中的
personFields参数从原有names,userDefined调整为names,customFields。如果你创建自定义字段时设置了独立schema,还可以精准指定返回目标字段,写法为personFields=names,customFields=你的自定义schema标识,过滤无关返回内容。 - 补全OAuth权限:除基础的个人资料读取权限外,需要在OAuth授权申请时追加目录只读权限,修改权限配置后必须重新走一遍用户授权流程,签发新的access token再发起请求,旧权限token无法返回未授权的字段内容。
- 校验字段可见性:回到admin后台的自定义字段配置页,检查该数字字段的可见性规则,如果字段被设置为「仅管理员可见」,普通用户身份哪怕读取个人资料,也无法通过API拿到字段值,需要将可见性调整到至少「用户本人可见」的等级。
- 异常排查:确认发起请求的账号,和你在联系人页面看到存在自定义字段值的账号属于同一Workspace租户下的同一账号,避免跨账号、跨租户调用导致的字段缺失;不要使用已废弃的旧版Contacts API读取这类组织级自定义字段,旧接口对该类字段的支持已停止维护。
内容的提问来源于stack exchange,提问作者Mathias Maes
相关产品推荐
相关产品推荐

