问题描述:
近期工单有企业版客户反馈调restapi创建会议时指定某用户为主持人但不生效,进入会议后看到自己不是主持人,想确认是什么问题导致的。
可能原因:
- 1.该用户不是restapi创建的企业用户
- 2.请求头里X-TC-Registered字段没有设置为1
- 3.该用户没有以企业账号登录腾讯会议
排查步骤:
- 1.确认用户是通过restapi创建的企业用户
创建会议时指定的hosts(会议主持人的用户 ID),需要是通过restapi方式的”创建用户“接口创建的企业用户ID,可以通过查询用户查询对应的userid是否存在,若存在就是企业用户,反之则不是。
代码语言:txt复制REST API方式创建用户
创建用户:https://cloud.tencent.com/document/product/1095/43675
POST https://api.meeting.qq.com/v1/users
{
"username": "testusername",
"phone": "18888888888",
"userid": "testuserid",
"email": "123456@qq.com"
}
- 2.确认请求头里X-TC-Registered字段已经设置为1
//PHP 代码示例
protected static function request_api($method, $api, $body = '')
{
try {
$http = new Client();
$headers = [
'X-TC-Nonce' => rand(100000, 999999),
'X-TC-Timestamp' => time(),
'X-TC-Key' => '您的secret_id',
'URI' => $api
];
$headers['X-TC-Signature'] = SignatureUtil::sign($headers, $body, $method);
$headers['AppId'] = '您的AppId';
$headers['SdkId'] = '您的SdkId';
$headers['X-TC-Registered'] = 1;
$options = [
'headers' => $headers
];
if($body)
{
$options['body'] = $body;
}
$result = $http->request($method,'https://api.meeting.qq.com'.$api, $options)
->getBody()->getContents();
return json_decode($result, true);
} catch (Exception $e)
{
throw new Exception([500, $e->getMessage()]);
}
}
- 3.确认该用户是以企业账号登录腾讯会议
以手机号、微信号等登录腾讯会议后,需要选择您自己的企业账号,然后选择”确定“,如果选择的”个人账号“,在会议列表看不到企业账号创建的会议,进入会议也不是主持人。
- 4.如果以上三步确认无误,可以提交工单 ,提供排查信息给我们确认
排查信息:
secret_id : '',
secret_key : '',
app_id : '',
sdk_id : ''
总结:
企业用户调restapi出现问题,比如指定主持人不生效、主持人登录腾讯会议客户端后在会议列表看不到自己创建的会议、调restapi”获取会议成员列表“接口返回userid为空等问题,我们一般可以先按【可能原因】排查一下。