質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Twilio

Twilioは電話・SMS・ビデオ・チャット・SNS連携等、様々なコミュニケーションチャネルの融合を可能とするクラウドコミュニケーションAPIサービスです。 従来は大規模な設備投資が必要だった電話と連携したシステムも、汎用的な開発言語で容易に開発が可能となり、 様々なコミュニケーションチャネルを活用したシステム構築が可能となります。

Q&A

0回答

1820閲覧

twilioのvideo通話について

rails_fan

総合スコア26

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Twilio

Twilioは電話・SMS・ビデオ・チャット・SNS連携等、様々なコミュニケーションチャネルの融合を可能とするクラウドコミュニケーションAPIサービスです。 従来は大規模な設備投資が必要だった電話と連携したシステムも、汎用的な開発言語で容易に開発が可能となり、 様々なコミュニケーションチャネルを活用したシステム構築が可能となります。

0グッド

1クリップ

投稿2016/05/15 12:02

編集2022/01/12 10:55

いつも皆様にお世話になっております。
ただいま、twilioのビデオ通話について試しています。

環境
ローカルに立てたlinuxサーバー
言語:ruby,javascript
フレームワーク:rails

Quickstartを元に以下の形で書いてみました。
【クライアント側】

Javascript

1var conversationsClient; 2var activeConversation; 3var previewMedia; 4var identity; 5 6// Check for WebRTC 7if (!navigator.webkitGetUserMedia && !navigator.mozGetUserMedia) { 8 alert('WebRTC is not available in your browser.'); 9} 10 11$.getJSON('/token', function(data) { 12 console.log(data.token); 13 var token = data.token; 14 15 var accessManager = new Twilio.AccessManager(token); 16 conversationsClient = new Twilio.Conversations.Client(accessManager); 17 conversationsClient.listen().then(clientConnected, function (error) { 18 log('Could not connect to Twilio: ' + error.message); 19 }); 20}); 21 22// Successfully connected! 23function clientConnected() { 24 document.getElementById('invite-controls').style.display = 'block'; 25 log("Connected to Twilio. Listening for incoming Invites as '" + conversationsClient.identity + "'"); 26 27 conversationsClient.on('invite', function (invite) { 28 log('Incoming invite from: ' + invite.from); 29 invite.accept().then(conversationStarted); 30 }); 31 32 // Bind button to create conversation 33 document.getElementById('button-invite').onclick = function () { 34 var inviteTo = document.getElementById('invite-to').value; 35 if (activeConversation) { 36 // Add a participant 37 activeConversation.invite(inviteTo); 38 } else { 39 // Create a conversation 40 var options = {}; 41 if (previewMedia) { 42 options.localMedia = previewMedia; 43 } 44 conversationsClient.inviteToConversation(inviteTo, options).then(conversationStarted, function (error) { 45 log('Unable to create conversation'); 46 console.error('Unable to create conversation', error); 47 }); 48 } 49 }; 50}

【サーバー側】

Ruby

1def token 2 identity = "user" 3 # Create an Access Token for Video usage 4 token = Twilio::Util::AccessToken.new <ACCOUNT_SID>, 5 <API_KEY>, <API_SECRET>, 3600, "user" 6 7 # Grant access to Conversations 8 grant = Twilio::Util::AccessToken::ConversationsGrant.new 9 grant.configuration_profile_sid = <CONFIG_SID> 10 token.add_grant grant 11 12 # Generate the token and send to client 13 render json: {identity: identity, token: token.to_jwt} 14end

この時,ウェブ側で見ると「Could not connect to Twilio: Gateway responded with: 31201 Authentication failed...」となってしまい接続することができません。上記の内容からTokenに問題があると思い試しに公式のテスターを使いそこで吐き出されたトークンを使用することで接続が可能でした。

【原因】
以上のことから、サーバー側で出力しているTokenの値が正しくないものを出力されているということはわかるのですが、なぜそのようなことになるのかがわかりません。

【求めているアドバイス】
上記の内容で疑わしい部分などありましたらご指摘いただければと思います。また不足している情報などありましたらそちらについてもご指摘いただければ捕捉、追記致します。

以上、どうぞ宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問