5 Twitter側にアプリケーション登録
下記URLにアクセスしてください。
右上の「Sign in」をクリックし、用意していたTwitterアカウントのIDとパスワードでログインします。
「Create New App」ボタンを押し、任意にアプリケーション名や説明、Webサイトなどの必須項目を入力し、「Developer Agreement」にチェックを付けて「Creater your Twitter application」ボタンを押し、登録します。
登録したら、アプリケーションを開き、「Keys and Access Tokens」タブから「Access Token Secret」を発行し、「Consumer Key(API Key)」、「Consumer Secret(API Secret)」、「Access Token」、「Access Token Secret」の4つの項目をそれぞれ控えておきます。
その後、「Permissions」タブを開き、「Access」ラジオボタンが「Read and Write」にチェックが付いていることを確認します(付いていなければチェックします)。
6 BluemixへHubotのデプロイ
さて、いよいよBluemixを使って作業をしていきます。BluemixにはUIを備えたコンソール画面がありますが、今回はコマンドプロンプトからCloud Foundry CLIを利用して作業を行います(とても動作が軽いです!)。
先ずは、Bluemix(米国南部)にログインします。コマンドプロンプトから以下のコマンドを実行してください。
cf login -a https://api.ng.bluemix.net
IBM IDのEmailとPasswordの入力を求められるので、入力し、ログインします。
これで、コマンドプロンプトからBluemixへの操作が可能となりました。
6.1 Cloud Foundryアプリケーションの作成とHubotのデプロイ
Cloud Foundryアプリケーションの作成と、Hubotのデプロイを同時に行います。そのために、「manifest.yml」ファイルを作成しましょう。manifest.yml は、Bluemixにアプリケーションをデプロイするときに参照されるファイルです。適当なテキストエディタを開き、以下の内容を記述します。
applications: - name: watsonhubotdev path: . memory: 256M
名前を付けてファイルを保存し、Hubotをインストールしたフォルダ直下(例だと「C:\Users\(ユーザー名)\watsonhubotdev」)へ「manifest.yml」ファイルを配置します。
manifest.ymlを配置したら、コマンドプロンプトでローカル環境のHubotをインストールしたフォルダパスへ移動します。移動したら、コマンドプロンプトから以下のコマンドを実行してください。
cf push watsonhubotdev -m 256m --no-start
このコマンドでは、Bluemix上にCloud Foundryアプリケーションを名前watsonhubotdevで、メモリー256MBのインスタンスを1つ作成し、pushでローカル環境のHubotをデプロイします。デプロイした後、no-startを付けているため、インスタンスは実行されません。
補足
Twitterアダプターを利用しているのに、まだCloud FoundryアプリケーションとTwitterアプリケーションの紐づけがなされていないため、エラーが出ますが、無視して続けてください。次の節でアプリケーション同士の紐づけを行います。
6.2 CLOUD FOUNDRYアプリケーションとTWITTERアプリケーションの連携
Cloud FoundryアプリケーションとTwitterアプリケーションの紐づけを行います。コマンドプロンプトから以下のコマンドを実行してください。
cf set-env watsonhubotdev HUBOT_TWITTER_KEY "Consumer Key (API Key)" cf set-env watsonhubotdev HUBOT_TWITTER_SECRET "Consumer Secret (API Secret)" cf set-env watsonhubotdev HUBOT_TWITTER_TOKEN "Access Token" cf set-env watsonhubotdev HUBOT_TWITTER_TOKEN_SECRET "Access Token Secret"
各々の値は、控えていた「Consumer Key(API Key)」、「Consumer Secret(API Secret)」、「Access Token」、「Access Token Secret」の4つの項目を入力します。
ここでは、Cloud Foundryアプリケーションの環境変数に値を設定しています。
コマンドプロンプトから以下のコマンドを実行してください。
cf env watsonhubotdev
これは、Cloud Foundryアプリケーションの環境変数を表示するコマンドです。User-ProvidedにきちんとTwitter連携用の環境変数が設定されていることが分かります。
さて、紐づけは完了したので、いったんCloud Foundryアプリケーションの再起動を行います。コマンドプロンプトから以下のコマンドを実行してください。
cf restage watsonhubotdev
Cloud Foundryアプリケーションが再起動したら、Blumixコンソールからも、Cloud Foundryアプリケーションの状態を確認してみましょう。
問題なく状態、実行中となっていますね。
では、Twitterアプリケーションと連携できているか、確認してみます。Twitterにアカウントとパスワードでログインして、自分宛てに「ping」とツイートしてください。自動で「PONG」とツイートされたら、
正常に連携できています。