Google Calendar API PHP服务账号创建事件无法获取Google Meet链接问题
问题原因
出现Invalid conference type value报错的核心原因是Google服务账号本身不属于Google Workspace组织,默认没有权限调用Google Meet的创建接口,必须通过全域权限委派模拟组织内真实用户才能正常生成会议链接。个人Google账号无法通过服务账号创建Meet链接,必须使用Google Workspace企业账号。
解决步骤
- 配置服务账号全域权限委派
- 进入Google Cloud控制台,找到当前使用的服务账号,开启「全域范围的委派」开关,保存后复制该服务账号的客户端ID
- 进入Google Workspace管理后台,依次打开「安全」→「访问权限和数据控制」→「API 控件」→「全域委派」
- 点击新增委派,填入刚才复制的服务账号客户端ID,在OAuth权限范围栏填入
https://www.googleapis.com/auth/calendar,保存配置
- 修改代码添加模拟用户配置
在初始化Google客户端的代码段中,新增模拟组织内用户的配置,被模拟的用户必须属于你的Google Workspace组织,且有创建Google Meet的权限:
$client = new Google_Client(); $client->setAuthConfig(xxx); $client->setScopes("https://www.googleapis.com/auth/calendar"); // 新增以下行,替换为你组织内的真实用户邮箱 $client->setSubject('your_real_user@your_domain.com'); $service = new Google_Service_Calendar($client);
- 核对日历权限
确认你使用的$google_calendar_id对应的日历,已经给上述被模拟的用户授予了「编辑」及以上权限,不要直接使用服务账号自身的默认日历,服务账号独立账号没有Meet创建权限。
完成以上配置后重新发起请求即可正常创建带Google Meet链接的日历事件。
内容的提问来源于stack exchange,提问作者Quoted
相关产品推荐
相关产品推荐

