2017-04-13 2 views
0

Ich verwende die Beispiel-Video-Anwendung von GitHub gezogen. Ich verwende einen node.js-Server, um die Beispielanwendung mit dem Zugriffstoken zu versorgen. Wenn ich mit der Twilio Console ein Videozugriffstoken erstelle und es als Literal in meinen Node.js Server lege und zurückschicke, kann ich die Beispielanwendung ausführen und mich mit einem Raum verbinden. Wenn ich den Muster-Token-Generierungscode auf meinem Node.js-Server verwende, bekomme ich "Ungültiges Access-Token" in einer Ausnahme in der onDisconnected-Methode in Room.Listener zurück.Generated Access Token ungültig für Demo-Video-Anwendung

Der folgende Code ist, was auf dem Server ausgeführt wird, um das Zugriffstoken zu erstellen, ich fand auch ein anderes Beispiel, das ich auch ausprobierte. Ich bin zurück gegangen und habe überprüft, dass meine Datenwerte für die Konto-SID und die API-Schlüssel korrekt sind. Ich habe eine ähnliche Methode, die das VoiceGrant-Zugriffstoken zurückgibt, und das funktioniert, aber etwas an diesem VideoGrant ist deaktiviert, ich sehe es einfach nicht.

// *********************************************************************************** 
// *********************************************************************************** 
// Video Access Token 
// *********************************************************************************** 
// *********************************************************************************** 
var videoCallAccessToken = function(request, response) { 
     console.log('/twilio/video/accessToken'); 
     var accessToken = makeVideoAccessToken(); 
     response.writeHead(200, {'Content-Type': 'text/plain'}); 
     response.end(accessToken); 
     console.log(accessToken); 
}; 

app.get('/twilio/video/accessToken', videoCallAccessToken); 

var makeVideoAccessToken = function() { 
     const AccessToken = twilio.AccessToken; 
     const VideoGrant = AccessToken.VideoGrant; 
     const grant = new VideoGrant({configurationProfileSid: accountData.videoConfigurationProfileSid}); 
     const accessToken = new AccessToken(accountData.sid, accountData.videoApiSid, accountData.videoApiSecret); 
     accessToken.identity = 'ABC123'; 
     accessToken.addGrant(grant); 
     return accessToken.toJwt(); 
}; 

FYI ... Ich plane, die Identität Generation zu verändern, haben aber noch nicht da bekam.

Danke,

+0

Ok, ich dachte, ich hätte lange genug gewartet, bevor ich das tatsächlich gesendet habe, aber anscheinend nicht. Das Problem ist, dass das Beispiel nicht funktioniert, da der Wert, der an den VideoGrant-Konstruktor übergeben wird, benötigt wird, damit der Attributname in Anführungszeichen gesetzt wird, also {configurationProfileSid: accountData.videoConfigurationProfileSid}); muss {configurationProfileSid ': accountData.videoConfigurationProfileSid}) sein; Froh, dass ich das endlich gefunden habe, eine Tonne Zeit damit verschwendet, aber zumindest funktioniert es jetzt richtig. – NinePlanFailed

Antwort

1

Addiert man diese aus meinem Kommentar als Antwort auf diese Frage aus zu schließen, war das Problem, dass der Beispielcode fehlerhaft war ...

Ok, dachte ich lange genug gewartet hatte vor tatsächlich senden, aber anscheinend nicht. Das Problem ist, dass das Beispiel nicht funktioniert, da der Wert, der an den VideoGrant-Konstruktor übergeben wird, benötigt wird, damit der Attributname in Anführungszeichen gesetzt wird, also {configurationProfileSid: accountData.videoConfigurationProfileSid}); muss {configurationProfileSid ': accountData.videoConfigurationProfileSid}) sein; Froh, dass ich das endlich gefunden habe, eine Tonne Zeit damit verschwendet, aber zumindest funktioniert es jetzt richtig.