00:20Twitterを始めてまだ10日ばかりですが、面白さにはまりRubyで実用的なものを作ろうと考えました。今回作ってみたものは、「自分のTwitterタイムラインをバックアップするRubyスクリプト」です。Rubyスクリプトの概要TwitterへOAuth認証でログイン。自分のアカウントのタイムラインをリツイートも含めて全て取得。取得したタイムラインデータをデータベース(MySQL)へINSERT。詳細は説明はしませんが、おおまかな流れは説明します。Rubyがインストールされ使用可能である。MySQLがインストールされ使用可能である。ある程度のLinuxの知識。(Linuxで開発・運用する場合)ある程度のRubyの知識。ある程度のMySQLの知識。ある程度のTwitterAPIの知識。1.gemパッケージインストールRubyでのTwitter関連、OAuth関連の開発を行うのに必要なGemパッケージをインストールする。(WindowsでもLinuxでも同様。BSD系OSでも同様。twitterにログインしていなければログインする。twitterの設定ページのアプリ連携タブないの「連携アプリの追加と設定はこちらから変更できます。」のこちらをクリックする。developersのログインページに移るので、twitterのユーザ名・パスワードを入力してログインする。application」ボタンをクリックする。application」ボダンをクリックする。secret」が発行されるので控えておく。(今後のことも考えて書き込みもできるようにしておいた。token」ボタンをクリックする。secret」が発行されるので控えておく。developersからログアウトする。3.コーディング単純にタイムライを取得するだけのコードならWeb上に転がっているので参照する。(当方はWeb上から参照したRubyスクリプトをタイムラインを未取得のものを全件取得するように改修し、さらにMySQLへ登録する処理を追加しました。独学でRubyを習得して作成したものなのでソースは見た目も良くないし、ロジックもあまりスマートでないのでソースの公開はしません。※注意※一度に取得するツイートが大量にあるとTwitterAPIのアクセス制限に引っかかるので調整が必要になる。作成したRubyスクリプトを実行してみる。MySQLにデータが登録されていれば成功。あとは取得したデータは手元にあるので自由に加工可能です。問題点というか、開発中に困ったことOAuth認証は1時間に350回が限度なので、コーディングに不備があって無限ループに入り、リクエストを高速で送ってしまうと、一気に350回のリミットに引っかかってしまい、解除されるまでの間、作業が滞ってしまう。1.6.0」では20件につき1件少ない件数しか取得できなかった。20件につき1件少ないことを考慮したコーディングをした。TwitterAPIは更新のペースが速いので少し前の情報でさえ間違っている(すでに変更になっている)ことがある。TwitterまとめWikiぱそぱそ雑記Rubyを使ってみる~その2~当方は早速、自分のホームページにツイート一覧を表示してみました。Railsで作成している当方ホームページに一覧(直近5件)を表示するようにしました。データが手元にあるため、プログパーツを使用していたときよりも表示が高速になりました。そんなに頻繁に更新する必要性も感じられないので、1時間毎の更新にしています。(近い将来には、直近5件だけではなく全件参照できるページも構築予定(気が向いたら))また、当方のブログ(WordPress)の方にもタイムラインをブログパーツを使用して表示させていますが、こちらはPHPでできているため今のところこのままブログパーツを使用することにします。(2023-05-01)5月になりましたので、先月4月分の当ブログアクセス状況を公開します。(2023-04-30)先月3月分の当ブログアクセス状況を公開していなかったので、公開します。(2023-03-01)3月になりましたので、先月2月分の当ブログアクセス状況を公開します。(2023-02-01)2月になりましたので、先月1月分の当ブログアクセス状況を公開します。