Twitterのいいね(ふぁぼ,お気に入り)を一括全削除!|CLIを利用!

どうも、ながやすです。
皆さん、Twitter 使っていますか?

転職時などの転機には過去のツイートを消したくなることもあるかもしれません。
そんな時のためにツイートのを全削除する記事を書きました。ツイートはこの記事を見ていただければ一括削除可能です。

Twitterのツイートを一括全削除!|転職活動時には一応やっておこう!
どうも、ながやすです。 皆さん、SNS 使っていますか? Facebook や Twitter、Instagram などがメジャーですね。 いろいろと便利ですし楽しいのでどんどん使っていくといいと思うんですが、懸念がないでもないです...

ですがツイートはこの方法で消しても「いいね」(いわゆるファボ、お気に入り)はそのまま残ってしまいます
「いいね」を削除するウェブアプリは既存でありますが、 それらはTwitter API の仕様上1回で200個までしか削除できません。
数千、数万の数のいいねがあるとかなりの時間がかかってしまいます。

そこで今回は、ウェブアプリでなく自分のパソコンから Twitter API を使って、一括で「いいね」を削除する方法を示します。
API を操作するために Linux ライクな CLI 環境 (Linux や Mac OS X、MSYS2 Windows)が必要となります。
ただAPI を使う、と言っても既存のスクリプトを使うので操作は簡単です。

ということで、今回は CLI から一気にいいねを全削除する方法をご紹介します。

CLI を使うため、Linux や Mac OS X、MSYS2 Windowsが必要となりますのでその点、ご留意くださいませ。
スポンサーリンク

小鳥男 kotoriotoko のインストール

今回は CLI にて作業をします。一からコマンドを叩くのは大変なので、今回はシェルスクリプトで作成されたTwitterクライアント「小鳥男」を利用します。
このツールはシェルスクリプトで作成されていますので、Linux や Mac OS X、 Windows MSYS2 でそのまま動作します。

インストール方法は下記の README に書いてあります。

kotoriotoko/README.ja.md at master · ShellShoccar-jpn/kotoriotoko · GitHub

インストールに必要な処理を抜粋すると下記の通りです。

$ wget https://github.com/ShellShoccar-jpn/kotoriotoko/archive/master.zip
$ unzip master.zip
$ mv kotoriotoko-master/ kotoriotoko/
$ chmod +x kotoriotoko/BIN/* kotoriotoko/TOOL/* kotoriotoko/UTL/* kotoriotoko/APPS/*.sh

これでインストールは終わりです。

小鳥男の使用準備

次に小鳥男を使用できるようにします。これも README に書いてあります。コマンドを下記に抜粋します。

$ cd kotoriotoko/BIN/
$ ./getstarted.sh

実行すると下記のように出力され、PINコードの入力を求められます。

$ ./getstarted.sh
***********************************************************************
To use "Kotoriotoko" commands,
***********************************************************************
you have to authorize them to operate your Twitter account.
In order to do that, do the following steps.

1) Copy and paste the URL to your web browser and open it.
 https://api.twitter.com/oauth/authenticate?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXXXXX

2) Authorize the application "Kotoriotoko (production model)" on the web page.
   After authorizing, you can see a PIN code at the next web page.

3) Input the PIN code to the to the following prompt.

PIN code : 

PINコードは、上記の 1)に記述のあるサイトへアクセスします。URIをコピペしてブラウザでアクセスしてください。
上記ではURIの最後のトークンをXXXとしていますが、実際は英数字記号が書かれています
アクセスすると下記のように小鳥男(Kotoriotoko)の利用許可を尋ねられますので、許可します。

許可すると、次に下記のような感じで7桁の数字のPINコードが表示されます(下記の図では数字は隠してますが実際は数字が7つ表示されます)。
これは先ほどのコマンドに入力する必要があるのでコピーしてください。


このPINコードをコピーして、先ほどのコマンドに入力します。下記の例では「NNNNNNN」と記載していますが、実際は7桁の数字です。
PINコード入力後、下記のようにその下に「Enjoy now! 」という文字が出力されていれば成功です!

$ ./getstarted.sh
***********************************************************************
To use "Kotoriotoko" commands,
***********************************************************************
you have to authorize them to operate your Twitter account.
In order to do that, do the following steps.

1) Copy and paste the URL to your web browser and open it.
 https://api.twitter.com/oauth/authenticate?oauth_token=XXXXXXXXXXXXXXXXXXXXXXXXXXX

2) Authorize the application "Kotoriotoko (production model)" on the web page. 
   After authorizing, you can see a PIN code at the next web page.

3) Input the PIN code to the to the following prompt.

PIN code : NNNNNNN

***********************************************************************
Enjoy now!
***********************************************************************
Your configuration file "/home/username/kotoriotoko/CONFIG/COMMON.SHLIB"
have been made.

You can use kotoriotoko now because of your access keys of Twitter service
are written into the file.

これで小鳥男を使えるようになりました!

「いいね」(ふぁぼ, お気に入り)を一括削除する

ここまでくればあとは「いいね」(ふぁぼ, お気に入り)を削除するだけです。
手順を大まかにいうと下記のようになります。

  • 「いいね」したツイートのリストを取得する
  • そのリストの「いいね」を解除する
  • 「いいね」したツイートがなくなるまで上記を繰り返す
  • いいねしたツイートのリストは仕様上最大200個までしか取得できませんので、いいねした個数が200以上なら複数回処理を実行する必要があります
    いいねしたツイートのリストを取得するのは favtws.sh です。いいねを取り消すのは twunfav.sh です。
    これを組み合わせてスクリプトを作って実行すればOKです。慣れている人なら得意の言語でサクッと作れちゃうかと思います。

    全く不慣れなかたむけに、ざっくりとシェルスクリプトを書いてみました。Mac OS X と Linux で動作を確認しています。
    手抜きでかつ無保証ですが、よろしければご使用下さい。
    下記のコードをコピペして hoge.sh というファイルを作り、 chmod +x hoge.sh として実行権限を付加してください
    あとは ./hoge.sh と実行すればOKです。(カレントディレクトリは kotoriotoko/BIN/ と仮定しています)

    #!/bin/sh
    set -u
    
    # GET favorites/list count must be less than or equal to 200;
    MAX_GET_FAV_LIST_COUNT=200
    NUM_OF_LINE=1
    
    while [ "$NUM_OF_LINE" != "0" ]
    do
        NUM_OF_LINE=`./favtws.sh -n $MAX_GET_FAV_LIST_COUNT | grep "https://" | sed -e 's/.*\/\([0-9]*\)$/\1/' | xargs -t -I{} ./twunfav.sh "{}" | wc -l | tr -d ' '`
    done
    

    上記のスクリプトを実行した場合は下記のようにずらずらといいねを解除したツイートのIDが出力されます。コマンドが終了すれば全部のいいねを削除終わりです。

    ./twunfav.sh 012345678901234567
    ./twunfav.sh 890123456790123456
    
    ときどき下記のようなエラーが出る場合があります。リクエストをたくさん投げすぎてしまったのが原因ですのでしばらく待ってから再度実行してください。
    最長でも15分待てば再実行できるはずです。

    favtws.sh: API error(88): Rate limit exceeded
    

     後処理

    そのままでも特に害はないのですが、小鳥男がもう不要という方は念のために削除しておきましょう。

    まず「右上の自分のアイコン」をクリック → 「設定とプライバシー」をクリックしてください。

    つぎに「アプリ連携」をクリックしてください。

    下記のような連携許可を設定するページになりますので、小鳥男(Kotoriotoko)の所の「許可を取り消す」をクリックしてください。これで連携が解除されました。

    あとは念のためコンフィグファイル含めソースコード一式を削除します。

    $ cd ../../
    $ rm -rf kotoriotoko/
    

    これで綺麗さっぱり元どおりです。

    まとめ

    今回は CLI にて Twitter の「いいね」(ふぁぼ、お気に入り)を一括削除する方法をご紹介しました。
    CLI ツールとして小鳥男 Kotoriotoko を利用すると簡単に実現できます。
    既存のウェブアプリでは最大で200個までしか「いいね」を解除できずに不便ですので、
    この方法を利用してサクッと削除していただければと思います!

    コメント