Twitterのツイートを選択して削除するツールをハッカソンで作りました 2




前回の記事はコチラ

「過去のツイートを消したいが、そこそこいいねをもらったやつはあんまり消したくない」
かの秦の始皇帝も言ってましたが、まさに仰るとおりだと思います。
先人たちのお考えはやはり深いですね。

ツイートを削除するツール、昨年の年末に30%くらいまで作っていたのですが、続きを作成して概ね出来上がった状態です。

実は前回の記事の時点で数件お問い合わせを頂いていたのですが、返答できておらず申し訳ございません。

個人の方からのお問い合わせでしたらGlodiaTwitter公式アカウントにて受け付けております。
お気軽にお問い合わせください。

さて、この記事では、機能の紹介と実装時のポイントなどを紹介できればと思います。

振り返り(なんでこんなのつくったんだっけ)

ハイパー車輪の再発明ではあるんですが、
世の中にあるやつが有料でしかも結構高い(個人の感想です)ので、
とりあえず自分が使いたいから作っちゃおうの精神です。

実装時のポイント

1. 開発環境をAWSのCloud9にすることで構築のストレスをゼロに

ブラウザIDE大好きです。

AWSのCloud9を使用することで、Railsの環境を即立ち上げることができます。
https://aws.amazon.com/jp/cloud9/

開発環境の構築って、やっぱり半日くらいはどうしてもかかってしまうことが多いと思うので、
スピード感を求められる開発の際には少しでも短縮したいですよね。

費用もめちゃくちゃ安いので、おすすめです。
しかし、わずかとはいえ有料なので、多人数開発だとちょっと使うべきか迷いますね。

2. Tweetのアーカイブファイルのアップロードに対応

TwitterのAPIって結構制約強くてですね、あんまり古い情報が取得できないんです。
つまり、ツイートを削除しようにも古いツイートは削除できないんですね。(あるいは、非常に難しい)

なので、Twitterの公式機能の、「過去のツイート一覧を一括でダウンロードできますよ」の機能を利用します。

実はここから、過去のツイートをすべてダウンロードできるようです。
ここでダウンロードしたファイルをこのシステムにアップロードしてもらうことで、過去のツイートも削除できるようにする、ということです。

3. 検索条件をできるだけ豊富に

結局このシステム、絞り込みがすべてと言っても過言ではないので、実装した絞り込み条件を紹介します。

  1. フリーワード検索(ちょっと重いです)
  2. 期間検索
  3. 「いいね」数
  4. 「RT」数
  5. 添付ファイルの有無
  6. 自分のリプライだけ表示
  7. 自分のリプライは除外して表示
  8. 自分がしたリツイートだけ表示
  9. 自分がしたリツイートは除外して表示

個人的には「添付ファイルの有無」が重要だと思います。
VTuberの方、絵描きの方、など創作クラスタの方々はせっかく何かを添付したツイートは消したくないですよね。
はい、そういう機能です。

「リプライがついたツイート」だけはツイートのデータ構造からは判別できなく、検索条件として用意することができませんでした。
残念。。。

4. 一部の処理を非同期に

ちょっと専門用語ですが、「非同期処理」を採用してます。

要はツイートを1000件など削除するときって、Twitterに削除リクエストを1000件飛ばすので結構時間がかかります。

そのため、「削除予約」のテーブルに1000件挿入して、あとからゆっくり削除する仕様としました。

なので、「削除状況」を閲覧する画面を用意してます。
ちょっと見づらいかもなのでUIは要改善ですね。。。

※同様にアーカイブファイルのアップロードも結構時間がかかるので、非同期処理にしてます。
※10,000ツイートの読み込みに10分くらいかかりますね。

リリースに向けて

リリースに向けて、利用規約やプライバシーポリシーなど整備中です。
ただ、まだ社員の意見などをあまりもらえていないのと
ちゃんとテストできていないのでリリース予定は未定となります
※夏のうちにリリースしたい気持ちあります

また、Twitter社のTwitterAPIの利用規約も改めて確認中です。
やっぱりもうちょっと時間かかりそうですね。

以上です。

ご相談ください

弊社では規模の大小を問わず、システム開発、サービス開発を承っております。
お困りの点がございましたら、お問い合わせくださいませ。

  • ・これってできるの?
  • ・いくらできるの?
  • ・いつまでにできるの?

お気軽にどうぞ!


Twitter APIを利用したサービス開発のご相談はこちら

この記事を書いた人

アバター

高橋 洋樹

WEBアプリケーション、スマートフォンアプリケーションエンジニア。
フロントエンドに関心大。
趣味でゲーム作ったり、つくらなかったり。