ColdFusionでツイート
ひさびさの書き込みです。
約1年前に作った、「もうすぐネット」のテコ入れをやっています。
当時はアマゾンからのデータを収集して、メールで配信するだけでしたが、いろいろ考えてみると欲がでてきました。
というわけで、ツイッターのボットを作ってみました。
今はテスト中ですが、こちらで配信しています。
今回必要なツイッターアプリは、単純に自分でツイートするだけです。それだけなんで、簡単かと思いましたが、認証する部分が大変でした。以前は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のデータベースにツイートしたい内容をしこんでおいて、自動的にツイートする、なんていうのも、すんなりできそうです。
約1年前に作った、「もうすぐネット」のテコ入れをやっています。
当時はアマゾンからのデータを収集して、メールで配信するだけでしたが、いろいろ考えてみると欲がでてきました。
- メール(テキストベース)で配信するなら、そのタイミングで、HTMLのログを作ってみよう
- HTMLで作ったら、そのログを見られるのもいいなぁ
- メール配信では、広告を挿入しているので、HTMLでも、広告表示できたらいいなぁ
- メール配信当時の広告をそのまま載せると、情報は古くなるので、jsonpで呼び出せるようにしよう
- HTMLログを見るだけではつまらないので、それを元に画像だけの表示をしてみよう
- ツイッターの利用もいいかも
というわけで、ツイッターのボットを作ってみました。
今はテスト中ですが、こちらで配信しています。
今回必要なツイッターアプリは、単純に自分でツイートするだけです。それだけなんで、簡単かと思いましたが、認証する部分が大変でした。以前は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のデータベースにツイートしたい内容をしこんでおいて、自動的にツイートする、なんていうのも、すんなりできそうです。