Twilio を使ってアクセス制限(Protected)をかけた MP3 ファイルを再生
はじめに
みなさん、こんにちは。
KDDIウェブコミュニケーションズのTwilio事業部エバンジェリストの高橋です。
今回は、Twilio を使ってアクセス制限をかけた MP3 ファイルを再生します。
従来の Twilio Assets の Private バージョンでは、最大10個までしかファイルが保存できないため、あまり実用的ではありませんでした。
Twilio Assets上にPrivateで登録したmp3ファイルをFunctionsを使って再生する
一方、Runtime API を使った Assets では、Protected バージョンが利用でき、かつ最大1,000個までのファイルがアップロードできます。
Protected バージョンで保存されたコンテンツは、アクセスする際に X-Twilio-Signature
ヘッダが必要になります。
そこで今回は、この API バージョンを使って、アクセス制限がかかった MP3 ファイルを使ったサンプルプログラムをご紹介します。
準備
本記事を実施するにあたって、以下の環境が必要です。
- Twilio アカウント : こちらから作成しましょう
- Twilio CLI のセットアップ : こちらの記事を参考にしてください
- Twilio CLI Serverless plugins : こちらの記事を参考にしてください
- VSCodeなどのエディタ
インストール
適当なディレクトリに移動します。
$ git clone https://github.com/mobilebiz/protected-mp3.git
$ cd protected-mp3
環境の設定
.env.example
を .env
にコピーして、API Key と API Secret を設定します。
API Key については、こちらで作成することができます。
音源の準備
assets
フォルダに、再生したい MP3 ファイルを入れます。
このとき、ファイル名と拡張子(.mp3)の間に、.protected
を入れてください。この設定により、MP3 ファイルが Protected バージョンとして保存されます。
再生用 TwiML の準備
今回はすでに、functions
フォルダ内に play.protected.js
を用意してあります。
こちらを開いて、3行目にある MP3 ファイルの名前を、上で準備した MP3 ファイルに置き換えます。このとき、.protected
の指定は不要ですので、気をつけてください。
デプロイ
以下のコマンドを使って、Twilio 上にデプロイします。
$ twilio serverless:deploy --force
着信時の設定
ここまでの作業で、アクセス制限のかかった MP3 ファイルの再生準備が完了しました。
Twilio 管理コンソールにログインして、購入済み電話番号に先程デプロイした play
Function を指定します。
テスト
設定した電話番号に電話をして、MP3 ファイルが再生されることを確認します。
また、MP3 ファイルや、再生用 Function をブラウザで直接開いても認証エラーになることを確認します。
Unauthorized - you are not authenticated to perform this request
まとめ
今回のプログラムでのポイントは、MP3 ファイルや Functions を保存するときに、ファイル名に .protected
を挟むことです。
このようにすることで、Twilio 内部からの Webhook ではアクセスできますが、外部からのアクセスに対しては、 X-Twilio-Signature
ヘッダが必要になります。
もし、外部のプログラムから Protected なファイルにアクセスしたい場合は、以下のサイトを参考にしてください。
Twilio Functionsを外部からセキュアに呼び出す
MP3の著作権について
本プログラムで使用している MP3 ファイルは、MusMusで公開されているものです。
利用規約については、こちらをご覧ください。
Twilio(トゥイリオ)とは
https://cloudapi.kddi-web.com
Twilioは音声通話、メッセージング(SMS/チャット)、ビデオなどの 様々なコミュニケーション手段をアプリケーションやビジネスへ容易に組み込むことのできるクラウドAPIサービスです。初期費用不要な従量課金制で、各種開発言語に対応しているため、多くのハッカソンイベントやスタートアップなどにも、ご利用いただいております。
Author And Source
この問題について(Twilio を使ってアクセス制限(Protected)をかけた MP3 ファイルを再生), 我々は、より多くの情報をここで見つけました https://qiita.com/mobilebiz/items/7080689201b0df0637a3著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .