Google Meet endActiveConference API返回403错误排查求助
问题:Google Meet结束会议接口返回403权限拒绝错误
此前用PHP调用Google Meet API结束会议功能正常,近期突然失效,返回权限拒绝错误。
相关代码
function endGoogleMeet($meetingId){ $accessToken = getAccessToken(); try { $getConferenceRecordUrl = 'https://meet.googleapis.com/v2/conferenceRecords?filter=space.meeting_code='.$meetingId; $conferences = curl_GET($getConferenceRecordUrl,$accessToken); $spaceName = ''; if(!empty($conferences)){ $confDetails = $conferences['conferenceRecords'][0]; $spaceName = $confDetails['space']; echo 'Found conference space with name: ' .$spaceName.' for meeting id '.$meetingId.PHP_EOL; }else{ throw new Exception('Could not find meeting details'); } if(!empty($spaceName)){ $endConfUrl = 'https://meet.googleapis.com/v2/'.$spaceName.':endActiveConference'; $response = curl_POST($endConfUrl, $accessToken); echo 'Ended active conference'.PHP_EOL; } } catch (Exception $e) { echo $e->getMessage(); } }
返回错误信息
{"error":{"code":403,"message":"Permission denied on resource MeetingSpace (or it might not exist)","status":"PERMISSION_DENIED"}}
当前获取Access Token的权限范围
$scopes = ['https://www.googleapis.com/auth/meetings.space.readonly', 'https://www.googleapis.com/auth/meetings.space.created'];
排查指引
- 补充必要权限范围:结束会议接口需要
https://www.googleapis.com/auth/meetings.space.end权限,当前配置的两个权限仅支持读取和创建会议空间,无结束权限。添加该权限后,需重新发起授权流程,确保新获取的Access Token包含该权限范围。 - 确认账号角色权限:确保调用接口的账号是该会议的创建者或拥有主持人权限,Google Meet仅允许授权管理者执行结束会议操作,权限范围正确但账号无对应角色也会返回403。
- 校验资源参数有效性:检查
$spaceName的格式是否正确(应为spaces/[空间ID]格式),确认meetingId对应的会议空间是否仍存在,避免因资源不存在导致的权限提示混淆。 - 排查API版本与变更:核实Google Meet API v2版本的
endActiveConference接口是否有变更,比如请求方式、参数要求是否调整。 - 调试请求细节:在
curl_POST函数中添加日志,输出完整的请求头、请求体及响应内容,获取更具体的错误提示,辅助定位问题。
内容的提问来源于stack exchange,提问作者Karan Jain
相关产品推荐
相关产品推荐

