メニュー

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 Javaクイックスタート

概要

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

例として、自分のウェブ アプリケーションの利用者の Twilio アカウントにアクセスして利用状況を解析し、結果を利用者に提供したい場合があります。 このクイックスタートでは、最初の Twilio ConnectApp の作成を通して、このような課題を解決します。ウェブ サイトには「Connect」ボタンを配置し、利用者が Twilio アカウントのデータにアクセスされることを許可できるようにして、利用者のアカウントに対して API リクエストを発行します。

最初の 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 を持ち回らないよう、利用者をアプリケーション内の別のページにリダイレクトすることを推奨します。Javaを使用した例を見ていきましょう

This tutorial assumes you have a Java development environment with a Web server capable of running Java servlets and the twilio-java helper library. Please see our post on setting up your environment if you need help installing those programs.

package com.twilio;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

import com.twilio.sdk.verbs.TwiMLResponse;
import com.twilio.sdk.verbs.TwiMLException;
import com.twilio.sdk.verbs.Sms;

public class TwilioServlet extends HttpServlet {

    public void service(HttpServletRequest request, HttpServletResponse response) throws IOException {
        // Retrieve the Connect user's Account Sid
        String accountSid = request.getParameter("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
        response.sendRedirect("http://example.com/myapp");
    }
}

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

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

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

import java.util.Map;
import java.util.HashMap;

import com.twilio.sdk.TwilioRestClient;
import com.twilio.sdk.TwilioRestException;
import com.twilio.sdk.resource.instance.Account;
import com.twilio.sdk.resource.instance.Call;
import com.twilio.sdk.resource.list.CallList;

public class CallRetriever {

    // The customer's Account Sid
    public static final String ACCOUNT_SID = "AC123";

    // Your own Auth Token
    public static final String AUTH_TOKEN = "456bef";

    public static void main(String[] args) throws TwilioRestException {

        TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);
        Account mainAccount = client.getAccount();
        CallList calls = mainAccount.getCalls();
        for (Call call : calls) {
            System.out.println("From: " + call.getFrom() + " To: " + call.getTo());
        }
    }
}

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

利用者の代わりに通話ログを取得することは、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.