ツイートを非公開にすると非公開中も非公開解除後も自分のツイートが検索できないという問題に困り果てましたが、公式からリッチな全データ出力機能が提供されていました。
検索できない
私は
- 数年前のツイートを懐かしんだり
- ツイートをエビデンスとして古参アピールしたり
と過去のツイートを参照することが多いです。しかし、ある時から検索に引っかからなくなってしまいました。
春空のインスト聴きたい〜みたいなことを言ってた気がするのに見つけられないしクソ pic.twitter.com/2tW7EA7Fa8
— ☝️🐎🐉🐉 (@pine_nm) March 24, 2021
ツイートを非公開中だけでなく、非公開から公開に設定を変更しても、公開設定前のツイート(以下、過去のツイート)が検索できません。何度もツイートを非公開にしていますが、以前は検索できていたので、最近仕様が変わったのでしょうか。
非公開設定に関する公式の説明を見てみます。
ツイートの非公開設定を解除すると、それまで非公開だったツイートがすべて公開されます。
ツイートのIDで直接リソースを指定すると閲覧可能なため、過去のツイートは公開状態になっているようです。検索ロジック側に何かあるのだろうと思います。
ツイートを取り返すため、いろいろ試してみます。
試したこと
API
「外部公開のAPIは仕様が異なっていたりしないかなー」と淡い期待をいだきましたが、ちゃんと過去のツイートは取得できませんでした。
以下は完全に余談ですが、そもそもAPIでは取得できるツイートの期間や件数に制限があります。
Timeline APIではユーザー毎に最新3,200件のツイートしか取得できません。
Timelines | Twitter API | Twitter Developer
The endpoint can return the 3,200 most recent Tweets, Retweets, replies and Quote Tweets posted by the user.
Search APIには2種類のエンドポイントがあり、それぞれで検索対象の期間が異なります。
Search Tweets | Twitter API | Twitter Developer
API 検索対象期間 Recent search 直近1週間の公開ツイート Full-archive search すべての公開ツイート Full-archive searchであれば3億円のツイート*1を含むすべてのツイートが検索できますが、Academic Research Projectでないと利用できません。もちろん私は利用できません。
ツイログ
「ツイログで検索できるのでは?」とフォロワーに助言をもらいました。持つべきものはTwitter力の高いフォロワーですね。
登録したことすら忘れていたツイログにアクセスしてみます。
古いプロフィールが懐かしい…キンスパで「PRESENTER」になったのでしょうね。そして禁酒しているシーズンでした。
さて、最新のプロフィールが表示されていない原因はワーニングが示しています。
このユーザーはツイートが非公開になっているため、ツイートの記録を停止しています。
ツイートの記録を再開するには、ツイートを公開するよう設定を変更し、ページ右上の「最新の情報に更新する」ボタンをクリックしてください。
2018年10月にもツイートを非公開に設定していました。また、ツイログ登録は2018年3月でした。
目的は果たせませんでしたが、指示にしたがってツイートを更新しておきましょう。APIにあるとおり、最大で3,200件のツイートを取得できます。
Twitterデータ出力
さて、しばらく途方に暮れていたのですが、Twitter公式に全ツイート履歴のダウンロード機能がありました。あるんかい!!
あとは手順に沿うだけですね。また、アーカイブに含まれるのはツイートだけではないようです。
これには、ユーザーのプロフィール情報、ツイート、ダイレクトメッセージ、モーメント、メディア(ユーザーがツイートやダイレクトメッセージ、モーメントに添付した画像、動画、GIF画像)、フォロワーのリスト、フォローしているアカウントのリスト、アドレス帳、作成したリスト、ユーザーが含まれているリスト、ユーザーがフォローしているリスト、ユーザーについてTwitterが推測した興味関心やオーディエンスの特性に関する情報、ユーザーによるTwitter広告の閲覧やエンゲージメントに関する情報など、ユーザーにとって関連性が高く、便利であると判断した情報が含まれています。
画像が含まれているため、ファイルサイズは2GBほどあります。
ダウンロードしてみると、ZIPファイルにHTMLとJava Scriptが含まれていました。ブラウザで開いてみます。
TwitterライクなWebアプリを提供してくれるとは優しいですね。
データはというと、jsファイル内でグローバル変数が宣言され、JSONが格納されていました。優しくないですね。
window.YTD.tweet.part0 = [ { "tweet" : { "id" : "00000000000000" } }]
少し触ってみましたが
- webアプリ:いいね検索
- データ:アカウント作成IPアドレス、IDの変更履歴
など、「公式にあったっけ?」というものがある点がおもしろいです。
ちなみにWebアプリはPCのみの利用に制限されていました。モバイルでも検索したいので今後は
- ツイート以外のデータを削除しコードを修正してホスティングする
- データを整形しコードを書いて検索用の独自エンドポイントを作成する
のどちらかをやろうかと思います。が、しばらくはこのWebアプリで十分そうです。
おわりに
過去のツイートが検索できなくなった原因は、昨年のインシデントが関連しているのでしょうか。
真相は分かりませんが、「Twitterに聞けばいいじゃん」と今更気づきました。一筆したためる時間があれば確認してみます。
最後に、アドバイスを二つ。
- 今は軽率にツイートを非公開にしない方がいい
- ツイログに登録した方がいい
よきTwitterを〜
おまけ
私の最初のツイートです。高値で売ります。
みんな西武ドームかなー
— ☝️🐎🐉🐉 (@pine_nm) March 21, 2013