OAuthを使用したPHPでのbotの作り方3

前回の続きです。

前回はソースを用意してアプリケーションを登録したところで終わりました。
今回はこのソースの使い道について説明していきます。
この実はソースは一つのアプリケーションでbotを複数管理するために用意したものです。
その前に、前提条件などをさらっと。

そもそもOAuthのアプリケーションって?

OAuthは単なる認証の方式です。別々のサービスを連携させる時に、直にIDやパスワードをやり取りさせるのは良くない、そういった考え方の元に生まれたものです。ID、パスワードをそのサービス外になるべく出さないようにやりとりをするための仕組みがOAuthです。だから回りくどいし、ややこしくて当然なんですね。

実は1bot=1アプリケーションというわけではありません。

アプリケーションを登録すると専用のコンシューマー・キーが渡されます。このキーはこのアプリケーション独自のもので当然1アプリケーション=1コンシューマー・キーです。
同時に発行されたアクセストークンですが、これは1アプリケーション=1アクセストークンではありません。1アプリケーションに対して利用したいアカウントの分だけ発行されます。つまり「1アプリケーション=xアクセストークン」になります。
アプリケーション側から見ると「1アカウント=1アクセストークン」ということです。
これを利用すると、アプリケーションを一つ登録しただけで、複数のbotを動かすことができるということになります。

で、このソースのやってることって?

簡単に言うと、botアカウントのアクセストークンとアクセストークン・シークレットをメモる為に画面に出します。
通常、ついったーにbotのアカウントでログインしてアプリケーションのログインを許可してもアクセストークンは見ることができません。そこで、認証して発行してもらったアクセストークンとアクセストークン・シークレットをbotのソースに組み込ませるために一時的に表示させます。これをメモってソースにコピペすることで一つのアプリケーションから複数のbotで認証できるようになります。

さっそく使ってみよう!

やってみる方が早いと思いますので、さっそく認証してみましょう

  1. まず、ついったーにbotのアカウントでログイン
  2. アプリケーションのURLにアクセスする
  3. 画面に表示されたURLを押す
  4. おなじみの許可しますか?画面になるので、許可してください
  5. 飛ばされた先にわけの分かんない文字列が見える

最後に2行文字列が出ましたね?
この文字列の上の段がアクセストークン、下の段がアクセストークン・シークレットになります。
単にメモれれば良かったので、余計な表示はありません><
これを一時的にどこかにわかりやすくメモっておいてください。次回以降のbot本体の解説に使っていきます。

ちなみにbotのアカウント分この行為を最初に行っておくと便利です。ログインとログアウトでちょっと忙しいですが。

次回はいよいよbot本体のソースの解説をしていきます。