うたらぼ(アメブロ) -36ページ目

ColdFusionでツイート

ひさびさの書き込みです。


約1年前に作った、「もうすぐネット」のテコ入れをやっています。

当時はアマゾンからのデータを収集して、メールで配信するだけでしたが、いろいろ考えてみると欲がでてきました。

  1. メール(テキストベース)で配信するなら、そのタイミングで、HTMLのログを作ってみよう
  2. HTMLで作ったら、そのログを見られるのもいいなぁ
  3. メール配信では、広告を挿入しているので、HTMLでも、広告表示できたらいいなぁ
  4. メール配信当時の広告をそのまま載せると、情報は古くなるので、jsonpで呼び出せるようにしよう
  5. HTMLログを見るだけではつまらないので、それを元に画像だけの表示をしてみよう
  6. ツイッターの利用もいいかも

というわけで、ツイッターのボットを作ってみました。
今はテスト中ですが、こちらで配信しています。

今回必要なツイッターアプリは、単純に自分でツイートするだけです。それだけなんで、簡単かと思いましたが、認証する部分が大変でした。以前はIDとパスワードだけで楽だったらしいですが、最近ではoauthという認証方法を使わないといけないようです。

実はoauthのライブラリを使ったことがありました。
ライブラリはこちらです。

evernoteの認証はoauthなんですが、認証は無事にできました。ただ、evernoteのAPIがうまく使えなくて挫折しました。

ライブラリをそのまま使ったほうがいいのですが、なんかシンプルなcfcにしたくていろいろ考えました。

ググってみると、ツイッターのコンポーネントを作ったという記事がありました。
こちらです。

悪戦苦闘の10時間。署名をうまく作れず挫折しました。
Tweet.cfcがあったら苦労しなくてもよかったんだけどなぁ。
ま、大変だったという経験値が得られました。

挫折しっぱなしでは困るので、ColdFusionのライブラリを探しました。
で、現在使っているのが、こちらです。

上記ライブラリを認証とツイート部分だけとりだしてcfcにしようとソースをみてみましたが、複雑!!結局ライブラリをいじることなく使うことにしました。

やってみて問題になったのが、ツイッター画面で認証ボタンを押し、そこから取得したoauth_verifierの値を使ってツイートすること。

いちいちツイッター画面で認証ボタンを押す、なんてできないので、そこはcfhttpで押したことにして、戻ってきた値からoauth_verifierを取得しました。

そしてツイート!できた!!

上記ライブラリを使ってツイートする関数を作りました。こちらです。

しかしながら、よくよくソースを見てみると、これだけでよかったです(^^;
ただし、この場合は、指定したuserAccountNameだけのツイートとなります。
※oauthToken、oauthTokenSecretの指定が前提

最初作った関数だと、cfhttp部分のid,passを変更することで、ツイート先が変えられます。
複数のアカウントを持っていて、同時にツイートしたい場合には使えますね。


これでColdFusionを使ったツイッターボットが増えるかな?
自分のPCで使う分にはColdFusionは無料なので、自分のPCのデータベースにツイートしたい内容をしこんでおいて、自動的にツイートする、なんていうのも、すんなりできそうです。