投稿

5月, 2016の投稿を表示しています

RustでTwitterAPIを叩く

目的Twitterを監視するバッチ、厳密に言うと「自分のツイートを監視して一定のフィルターに該当するものをすべて削除していくバッチ処理」を必要としており、せっかくなのでRustで構築しようと思った
今回のゴールTwitter-APIをコールするライブラリ自体はすでにCratesに存在している。目的を達成するには、APIが足りていないが、今回はまずこのライブラリをコールするところから始める。また、利用方法についても基本的にはGoogleでヒットするが、そのまま紹介してもつまらないので以下のような流れを実装する認証URLをブラウザで勝手に表示させるコールバックURLをローカルホストの指定ポートに向くようにしておき、そのURLを処理上で受けられるようにironでオープンしておく認証ページで認証したあとのコールバックを、認証URLを開いたプロセス自身で受け取り、取得したアクセストークンを利用してツイートを行うプロセス自身をすべて破棄して終了事前準備プログラム以外に準備するものは以下のとおりTwitter Application Managementでアプリケーションを登録、consumer_key及びconsumer_secretを取得しておくこと上記アプリケーション登録において、コールバックURLをローカルまたはRustプログラムを起動するサーバーのURLなど、コールバックを受けるURLに正しく設定すること。筆者は、http://127.0.0.1:8943/callbackとした。利用ライブラリCargo.tomlを参照したほうがわかりやすいように考えたので以下の通りとする[package] name = "tweet" version = "0.1.0" authors = ["deadcheat"] [dependencies] aurelius = "*" iron = "*" oauth-client = "0.1.2" twitter-api = "*" urlencoded="*" aureliusがURLをオープンするために利用するcrateこういうネーミングは正直好みだ。実装最新状態はGistに…