SuperAPI AI 工具集

google_contacts

通用与其它

查看项目

更新于 10-15 18:37

技能介绍

用途:管理用户的 Google 联系人,所有操作通过 hatch_gws_cli people <resource> <method> 执行,资源与方法分开书写,参数放在 --params JSON 对象中,创建和编辑时另加 --json 请求体。

主要能力:按姓名或邮箱搜索联系人;浏览整个通讯录;读取单个联系人详情;创建、更新、删除联系人。联系人 id 是形如 people/c1234567890 的不透明 resourceName,people/me 代表已连接账户本身。读取时必须指定字段:搜索用 readMask,get 和 connections list 用 personFields,均为逗号分隔列表,如 names,emailAddresses,phoneNumbers。

使用方式:首次使用需一次性连接,运行 hatch_gws_cli people status,若未连接则把返回的 connect_url 以链接形式发给用户并等待点击;断开连接运行 hatch_gws_cli people disconnect 并发送其 disconnect_url。若命令报认证失败或未连接,重跑 status 并按返回链接处理;status 不可用则说明该设备不支持 Google Contacts 并停止。认证只通过 status 和 disconnect 流程,不手工编写凭据文件或使用原始 gws auth。

常见流程:搜索联系人用 people people searchContacts --params '{"query":"alice","readMask":"names,emailAddresses,phoneNumbers","pageSize":10}';浏览通讯录用 people people connections list --params '{"resourceName":"people/me","personFields":"names,emailAddresses,phoneNumbers","pageSize":50}';读取单人详情用 people people get --params '{"resourceName":"people/<id>","personFields":"names,emailAddresses,phoneNumbers"}';创建用 people people createContact --json '{"names":[{"givenName":"Alice","familyName":"Smith"}],"emailAddresses":[{"value":"alice@example.com"}],"phoneNumbers":[{"value":"+15551234567"}]}';更新用 people people updateContact --params '{"resourceName":"people/<id>","updatePersonFields":"emailAddresses"}' --json '{"etag":"<etag>","emailAddresses":[<完整列表>]}';删除用 people people deleteContact --params '{"resourceName":"people/<id>"}'。

规则与限制:创建、编辑、删除可在用户请求明确无歧义时直接进行,无需额外确认,但编辑或删除前必须先搜索或浏览定位到确切的人,使用读取返回的 resourceName 和 etag,不得操作未找到的联系人;编辑时要包含保留的字段以免丢失。对用户只用自然语言,命令、JSON 输出、状态词、resourceName、etag、分页令牌等都不应出现在回复中,但联系人姓名、邮箱、电话可以保留。不得打印令牌、密钥或凭据材料。联系人分组和标签、"其他联系人"(邮件自动保存的地址)以及目录或域内人员不是这里的标准流程,如需处理应先通过 hatch_gws_cli schema people.<resource>.<method> 查看结构并在变更前确认。读取结果在 Google 提供来源更新时间时会附加 contact_source_updated_at(UTC 和用户本地两种形式),生日保持为日历日期。