Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

583
Visualizações
ReferenceError: la ventana no está definida en agora-rtc-sdk-ng en el nodo js

Lo que quiero hacer

Quiero agregar manualmente usuarios al canal desde el backend (nodo js) usando agora SDK.

Error

Recibo ReferenceError: window is not defined al implementar Agora-Rtc-SDK en Node js

https://prnt.sc/52Dp_D9-gwEu

Probé agora-rtc-SDK-ng y agora-rtc-sdk, ambas bibliotecas, pero recibo el mismo error.

Aquí esta lo que hice

Primero genero un token usando agora-access-token y luego, después de usar ese token, me uno al canal en particular

Código

 const cors = require('cors'); const dotenv = require('dotenv'); const AgoraRTC = require('agora-rtc-sdk-ng') const {RtcTokenBuilder, RtcRole } = require('agora-access-token'); dotenv.config(); const app = express(); const PORT = process.env.PORT || 8080; const APP_ID = process.env.APP_ID; const APP_CERTIFICATE = process.env.APP_CERTIFICATE; const generateRTCToken = (req, resp) => { const channelName = req.params.channel; let uid = req.params.uid; // get role let role; if (req.params.role === 'publisher') { role = RtcRole.PUBLISHER; } else if (req.params.role === 'audience') { role = RtcRole.SUBSCRIBER } else { return resp.status(500).json({ 'error': 'role is incorrect' }); } // get the expire time let expireTime = req.query.expiry; if (!expireTime || expireTime === '') { expireTime = 3600; } else { expireTime = parseInt(expireTime, 10); } // calculate privilege expire time const currentTime = Math.floor(Date.now() / 1000); const privilegeExpireTime = currentTime + expireTime; // build the token let token; if (req.params.tokentype === 'userAccount') { token = RtcTokenBuilder.buildTokenWithAccount(APP_ID, APP_CERTIFICATE, channelName, uid, role, privilegeExpireTime); } else if (req.params.tokentype === 'uid') { token = RtcTokenBuilder.buildTokenWithUid(APP_ID, APP_CERTIFICATE, channelName, uid, role, privilegeExpireTime); } else { return resp.status(500).json({ 'error': 'token type is invalid' }); } // return the token return token; } const addUserToChannle = async () => { const client = AgoraRTC.createClient({ codec: "vp8", mode: "rtc", }); let token = await generateRTCToken() client.join(APP_ID, req.params.channel, token); } app.get('/rtc/:channel/:role/:tokentype/:uid', nocache , addUserToChannle); app.listen(PORT, () => { console.log(`Listening on port: ${PORT}`); }); [1]: https://prnt.sc/52Dp_D9-gwEu
about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda