You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已实现Google People API获取联系人,如何列出并管理联系人组?

很高兴看到你已经成功用People API获取联系人了!关于联系人组的列出和管理,我来给你详细拆解下具体实现方法:

列出联系人组

要获取所有联系人组,你可以使用contactGroups->listContactGroups方法,通过groupFields参数指定要返回的组信息字段(比如名称、成员数、资源ID等):

// 初始化服务对象(和你之前的代码复用同一个$people_service即可)
// $people_service = new Google_Service_PeopleService($client);

// 列出联系人组
$contactGroups = $people_service->contactGroups->listContactGroups([
    'groupFields' => 'name,memberCount,resourceName', // 指定要返回的字段
    'pageSize' => 10 // 每页返回的组数量
]);

// 遍历输出组信息
foreach ($contactGroups->getContactGroups() as $group) {
    echo "组名称: " . $group->getName() . "\n";
    echo "组资源ID: " . $group->getResourceName() . "\n";
    echo "成员数量: " . $group->getMemberCount() . "\n\n";
}
创建新联系人组

通过createContactGroup方法创建自定义组,需要构造Google_Service_PeopleService_ContactGroup对象并设置组名称:

// 创建新的联系人组对象
$newGroup = new Google_Service_PeopleService_ContactGroup();
$newGroup->setName("我的工作联系人组"); // 设置组名称

try {
    $createdGroup = $people_service->contactGroups->createContactGroup($newGroup);
    echo "组创建成功!资源ID: " . $createdGroup->getResourceName();
} catch (Exception $e) {
    echo "创建失败: " . $e->getMessage();
}
更新联系人组名称

如果需要修改组名称,使用updateContactGroup方法,传入组的资源ID和更新后的名称:

$groupResourceName = "contactGroups/你的组资源ID"; // 替换为实际的组resourceName
$updatedGroup = new Google_Service_PeopleService_ContactGroup();
$updatedGroup->setName("更新后的工作联系人组"); // 设置新名称

try {
    $result = $people_service->contactGroups->updateContactGroup(
        $groupResourceName,
        $updatedGroup,
        ['updatePersonFields' => 'name']
    );
    echo "组名称更新成功!新名称: " . $result->getName();
} catch (Exception $e) {
    echo "更新失败: " . $e->getMessage();
}
向组中添加/移除联系人

使用contactGroups_members->modifyContactGroupMembers方法可以批量添加或移除组内联系人:

$groupResourceName = "contactGroups/你的组资源ID";
$modifyRequest = new Google_Service_PeopleService_ModifyContactGroupMembersRequest();

// 添加联系人(传入联系人的resourceName)
$modifyRequest->setAddPersonResourceNames([
    "people/联系人1的resourceName",
    "people/联系人2的resourceName"
]);

// 如需移除联系人,取消注释下面一行
// $modifyRequest->setRemovePersonResourceNames(["people/要移除的联系人resourceName"]);

try {
    $people_service->contactGroups_members->modifyContactGroupMembers(
        $groupResourceName,
        $modifyRequest
    );
    echo "联系人操作成功!";
} catch (Exception $e) {
    echo "操作失败: " . $e->getMessage();
}
删除联系人组

通过deleteContactGroup方法删除指定组,注意系统默认组(比如"最近联系人")无法删除:

$groupResourceName = "contactGroups/你的组资源ID";

try {
    $people_service->contactGroups->deleteContactGroup($groupResourceName);
    echo "组删除成功!";
} catch (Exception $e) {
    echo "删除失败: " . $e->getMessage();
}

内容的提问来源于stack exchange,提问作者Ersan Aşkın

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:57:20