2017-04-13 5 views
0

GitHubからプルダウンされたサンプルビデオアプリケーションを使用しています。私は、node.jsサーバーを使用してサンプルアプリケーションにアクセストークンを提供しています。 Twilio Consoleを使用してビデオアクセストークンを生成し、これをリテラルとしてNode.jsサーバーに配置して戻すと、サンプルアプリケーションを実行してルームに接続できます。 Node.jsサーバーでサンプルトークン生成コードを使用すると、Room.ListenerのonDisconnectedメソッドの例外で「無効なアクセストークン」が返されます。デモビデオアプリケーション用に生成されたアクセストークンが無効

次のコードは、アクセストークンを作成するためにサーバーで実行されているコードですが、私も試した別のサンプルが見つかりました。私は戻って、アカウントSIDとAPIキーのデータ値が正しいことを確認しました。私はVoiceGrantアクセストークンを返すような同様のメソッドを持っていますが、それは動作していますが、このVideoGrantについての何かがオフで、私はそれを見ません。

// *********************************************************************************** 
// *********************************************************************************** 
// 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 ... ID生成を変更する予定ですが、まだ作成されていません。

おかげで、

+0

私は実際にこれを送信する前に十分に待っていたと思っていましたが、明らかにそうではありませんでした。問題は、VideoGrantコンストラクターに渡された値が属性名を引用する必要があるため、この例では機能しないため、{configurationProfileSid:accountData.videoConfigurationProfileSid}); {'configurationProfileSid':accountData.videoConfigurationProfileSid}にする必要がありました。私がついにそれを見つけてうれしくなりました。時間が無駄になりましたが、少なくとも今は正しく動作しています。 – NinePlanFailed

答えて

1

が出て、この質問を閉じるための答えとして私のコメントからこれを追加し、問題はサンプルコードが欠陥のあることだった...

[OK]を、私は前に十分な長待っていたと思いました実際にこれを送信しますが、明らかにそうではありません。問題は、VideoGrantコンストラクターに渡された値が属性名を引用する必要があるため、この例では機能しないため、{configurationProfileSid:accountData.videoConfigurationProfileSid}); {'configurationProfileSid':accountData.videoConfigurationProfileSid}にする必要がありました。私がついにそれを見つけてうれしくなりました。時間が無駄になりましたが、少なくとも今は正しく動作しています。

関連する問題