SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

IBM Bluemix User Group(BMXUG)リレー寄稿

IBM Watsonと連携するTwitter Botを作ってみよう!

IBM Bluemix User Group(BMXUG)リレー寄稿 第4回


  • X ポスト
  • このエントリーをはてなブックマークに追加

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にアプリケーションをデプロイするときに参照されるファイルです。適当なテキストエディタを開き、以下の内容を記述します。

ファイル名:manifest.yml
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」とツイートされたら、

 正常に連携できています。

次のページ
7 Natural Language Classifierサービスの作成

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
IBM Bluemix User Group(BMXUG)リレー寄稿連載記事一覧

もっと読む

この記事の著者

佐藤 一成(Bluemix User Group)(サトウ イッセイ)

株式会社DIGC/株式会社アイク・ラボの両社にて、代表取締役社長を務める。フルスタック・IBM Watsonを主とした人工知能系エンジニア。大学卒業後、大手SIer、外資系コンサル企業を経て、ベンチャー・一部上場企業の社内SEを経験。その後フリーランスとなり、2015年起業、現在に至る。全国初のIBM Watsonを活用したIctシステムのコンサルティング・システム開発を専門とする。現在は、株式会社株式会社DIGCにて1...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9621 2016/09/30 12:54

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング