メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Twilio Connect Ruby クイックスタート

概要

Twilio Connect は、開発者が Twilio アカウントの所有者に代わって電話をかける、テキスト メッセージを送信する、電話番号を購入する、アクセス ログを閲覧する、その他の API 機能を実行する際に、許可を得るための簡単な方法です。

As an example, imagine you want to access the Twilio account of a user of your web application to provide in-depth analytics of their Twilio account activity. In this quickstart we'll solve this problem by creating your first Twilio Connect App, placing the "Connect" button on your website so users can authorize your app to access their Twilio account data and make API requests against their account.

最初の Twilio ConnectApp を作成する

早速、最初の ConnectApp を作成してみましょう。 自分の Twilio アカウント ダッシュボードにログインして「Apps」を選択し、「Create ConnectApp」ボタンをクリックします。 上部のセクションにアプリケーション名と会社情報を入力します。

次に、Connect アプリケーションに Authorize URL を割り当てます。 Authorize URL は、利用者が Twilio アカウントにアクセスされることを許可した後、Twilio が利用者をリダイレクトする URL です。 Authorize URL の使用方法については、このクイックスタートの後半で説明します。

最後に、利用者のアカウントで ConnectApp に必要とされるアクセス権を選択します。この例では、解析のために通話ログにアクセスしますので、「Read all account data」を選択します。

サンプル ConnectApp は次のようになります。

Rossum Twilio Connect App

「Save Changes」をクリックすれば完了です!

ウェブ サイトに Connect ボタンを配置する

Twilio Connect

利用者は Connect ボタンから Twilio アカウントへの ConnectApp のアクセスを許可するプロセスを開始します。ウェブ サイトにこのボタンを配置するのに必要なコードは、Twilio Connect ボタン HTML ジェネレーターで生成することができます。

アプリケーションを保存すると、HTML コードのポップアップが表示されます。この生成されたコードをコピーし、自分のウェブサイトの HTML の、ボタンを表示したい場所にペーストします。この HTML を再度生成したい 場合は、下方の ConnectApp 詳細ページの下部の「Generate Connect Button HTML」リンクをクリックします。

許可フローをテストする

ウェブ サイトに Twilio Connect ボタンを設置したら、HTML を挿入したページをブラウズし、Connect ボタンをクリックしてみます。 許可画面に表示される情報が正しいことを確認してください。

アプリケーションの許可プロセスを完了したら、ConnectApp 作成時に指定した Authorized URL へリダイレクトされます。この URL には Account Sid URL パラメーターが追加されています。値は次のようになります。

http://www.example.com/twilio/authorize?AccountSid=AC12345
   Your Connect App's Authorize URL       Customer's SID

アプリケーションは URL から AccountSid の値を取り出し、アプリケーション内で利用者のアカウントと関連付けます。AccountSid を取り出した後は、AccountSid を持ち回らないよう、利用者をアプリケーション内の別のページにリダイレクトすることを推奨します。Ruby のサンプルを見ていきましょう。

This tutorial assumes you have a Ruby development environment with Sinatra and the twilio-ruby helper library. If you don't have these yet, please see our post on setting up your Ruby environment.

require 'rubygems'
require 'sinatra'
require 'twilio-ruby'

get '/connect' do
  sid = params['AccountSid']
  # Store this account sid in your database, so you can retrieve it
  # later. You will need to write this section of the code.

  # Finally, redirect the user to your app after you've gathered their Sid
  redirect 'http://example.com/myapp'

end

許可されたリクエストを発行する

利用者の AccountSid を入手したら、Twilio REST API を使ってこれらのアカウントのデータをリクエストします。 利用者のアカウントからデータを取得するためのリクエストは、自分のアカウントに発行するリクエストとほぼ同じですが、主な違いが 1 つあります。認証を行う際に、自分の AccountSid の代わりに許可プロセスで取得した AccountSid を使い、AuthToken は自分のアカウントのトークンを使います。

次のコードは、Ruby Helper ライブラリを使って通話ログを取得するシンプルなリクエストです。4 行目で自分の Account Sid ではなく、利用者の Account Sid を指定していることに注意してください。

require 'rubygems' # not necessary with ruby 1.9 but included for completeness
require 'twilio-ruby'

# Use your customer's account sid.
account_sid = 'ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

# Use your own auth token.
auth_token = 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy'

# set up a client to talk to the Twilio REST API
client = Twilio::REST::Client.new(account_sid, auth_token)

calls = client.calls.list

begin
  calls.each do |call|
    puts call.sid + "\t" + call.from + "\t" + call.to
  end
  calls = calls.next_page
end while not calls.empty?

完成です! 次に何をしますか?

利用者の代わりに通話ログを取得することは、Twilio Connect で実現できることの最初の一歩です。 Connect のその他の機能をアプリケーションに統合する方法について、詳しくは Connect のドキュメントベスト プラクティスを参照してください。

Rate this page:

ヘルプが必要ですか?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.