@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Mastodon API の叩き方: 投稿を削除する方法

こんな流れ。

  • /api/v1/accounts/verify_credentials で自分自身の ID を得る
  • /api/v1/accounts/:id/statuses で投稿のリストを得る
  • /api/v1/statuses/:id で一件ずつ削除する

Mastodon インスタンスのポリシーによるのかもしれないが、投稿削除 API エンドポイントの rate limit がかなり少なくて、 30 分に 30 回しかアクセスできなかった。 curl で GET なエンドポイントを叩いたときは rate limit が 5 分?で 300 回くらいだったので User-Agent 偽装してみたけど見当はずれだった。投稿削除の rate limit は Web 版から操作したときと共通らしく、ブラウザからも削除できなくなったりした。

一度に削除できる件数が少ない、かつ時間を置かないといけないので、 crontab に追加するなり Jenkins job を作るなりして毎時実行させ、一日がかりで全部消した。

参考 documentation/API.md at master · tootsuite/documentation · GitHub