Log

いろいろ

すべてのツイートを取り返す

ツイートを非公開にすると非公開中も非公開解除後も自分のツイートが検索できないという問題に困り果てましたが、公式からリッチな全データ出力機能が提供されていました。

検索できない

私は

  • 数年前のツイートを懐かしんだり
  • ツイートをエビデンスとして古参アピールしたり

と過去のツイートを参照することが多いです。しかし、ある時から検索に引っかからなくなってしまいました。

ツイートを非公開中だけでなく、非公開から公開に設定を変更しても、公開設定前のツイート(以下、過去のツイート)が検索できません。何度もツイートを非公開にしていますが、以前は検索できていたので、最近仕様が変わったのでしょうか。

非公開設定に関する公式の説明を見てみます。

公開ツイートと非公開ツイートについて

ツイートの非公開設定を解除すると、それまで非公開だったツイートがすべて公開されます。

ツイートの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力の高いフォロワーですね。

登録したことすら忘れていたツイログにアクセスしてみます。

f:id:mtzml:20210509014518p:plain

古いプロフィールが懐かしい…キンスパで「PRESENTER」になったのでしょうね。そして禁酒しているシーズンでした。

mtzml.hatenablog.com

さて、最新のプロフィールが表示されていない原因はワーニングが示しています。

このユーザーはツイートが非公開になっているため、ツイートの記録を停止しています。
ツイートの記録を再開するには、ツイートを公開するよう設定を変更し、ページ右上の「最新の情報に更新する」ボタンをクリックしてください。

2018年10月にもツイートを非公開に設定していました。また、ツイログ登録は2018年3月でした。

目的は果たせませんでしたが、指示にしたがってツイートを更新しておきましょう。APIにあるとおり、最大で3,200件のツイートを取得できます。

Twitterデータ出力

さて、しばらく途方に暮れていたのですが、Twitter公式に全ツイート履歴のダウンロード機能がありました。あるんかい!!

全ツイート履歴をダウンロードする方法

あとは手順に沿うだけですね。また、アーカイブに含まれるのはツイートだけではないようです。

これには、ユーザーのプロフィール情報、ツイート、ダイレクトメッセージ、モーメント、メディア(ユーザーがツイートやダイレクトメッセージ、モーメントに添付した画像、動画、GIF画像)、フォロワーのリスト、フォローしているアカウントのリスト、アドレス帳、作成したリスト、ユーザーが含まれているリスト、ユーザーがフォローしているリスト、ユーザーについてTwitterが推測した興味関心やオーディエンスの特性に関する情報、ユーザーによるTwitter広告の閲覧やエンゲージメントに関する情報など、ユーザーにとって関連性が高く、便利であると判断した情報が含まれています。

画像が含まれているため、ファイルサイズは2GBほどあります。

f:id:mtzml:20210509022006p:plain

ダウンロードしてみると、ZIPファイルにHTMLとJava Scriptが含まれていました。ブラウザで開いてみます。

f:id:mtzml:20210509022617p:plain
TOP画面

f:id:mtzml:20210509023048p:plain
検索

TwitterライクなWebアプリを提供してくれるとは優しいですね。

データはというと、jsファイル内でグローバル変数が宣言され、JSONが格納されていました。優しくないですね。

window.YTD.tweet.part0 = [ {
  "tweet" : {
    "id" : "00000000000000"
  }
}]

少し触ってみましたが

  • webアプリ:いいね検索
  • データ:アカウント作成IPアドレス、IDの変更履歴

など、「公式にあったっけ?」というものがある点がおもしろいです。

ちなみにWebアプリはPCのみの利用に制限されていました。モバイルでも検索したいので今後は

  • ツイート以外のデータを削除しコードを修正してホスティングする
  • データを整形しコードを書いて検索用の独自エンドポイントを作成する

のどちらかをやろうかと思います。が、しばらくはこのWebアプリで十分そうです。

おわりに

過去のツイートが検索できなくなった原因は、昨年のインシデントが関連しているのでしょうか。

blog.twitter.com

真相は分かりませんが、「Twitterに聞けばいいじゃん」と今更気づきました。一筆したためる時間があれば確認してみます。

最後に、アドバイスを二つ。

  • 今は軽率にツイートを非公開にしない方がいい
  • ツイログに登録した方がいい

よきTwitterを〜

おまけ

私の最初のツイートです。高値で売ります。