我有一个现有的视频聊天应用程序,我使用Twilio可编程视频内置了react / node。它在生产中并且运行良好。
我想添加聊天功能,以便同一会议室中的视频会议与会者可以使用Twilio可编程聊天相互聊天。
我已经对所有内容进行了编码,并按需要工作,但是,当我尝试在浏览器中使用聊天功能时,只是聊天功能,我收到了一条错误的Twilio令牌错误消息:
如您所见,我生成的令牌可以用于视频访问,但似乎没有被授予聊天访问权限。
这是我用来生成令牌的代码。请注意,我正在为同一令牌中的聊天和视频执行addGrant。我得到一个令牌就好了,所以我假设支持此方法。但是,出于某种原因,令牌似乎不具有来自Twilio的聊天访问权限。
//Handle Twilio Token Generation
app.get('/token', (req, res) => {
const { identity, roomName } = req.query;
const token = new AccessToken(twilioAccountSid, twilioApiKeySID, twilioApiKeySecret, {
ttl: MAX_ALLOWED_SESSION_DURATION,
});
token.identity = identity;
const videoGrant = new VideoGrant({ room: roomName });
token.addGrant(videoGrant);
const chatGrant = new ChatGrant({
serviceSid: twilioChatSService,
});
token.addGrant(chatGrant);
res.send(token.toJwt());
console.log(`Successfully issued Video and Chat token for ${identity} in room ${roomName}`);
cookieMgr.set('token', token.toJwt());
});
app.get('*', (_, res) => res.sendFile(path.join(__dirname, 'build/index.html')));
app.listen(8081, () => console.log('Token server running on 8081'));
我在做什么错了?
附加说明:我可以生成视频令牌或聊天令牌,只需稍加修改即可提取一项服务。所以它似乎对要么要么起作用。尝试做一个授予对两者的访问权的令牌时,它只是无效。