如何删除 Mastodon API 中的所有嘟嘟声?

How do I get all the toots in Mastodon API to delete them?

我怎样才能得到我已经嘟嘟的所有嘟嘟ID?

我想删除我在 Mastodon 的所有嘟嘟声(状态帖子),但无法删除所有嘟嘟声。

如果我删除我的帐户会更容易,尽管我想保持我的帐户存在并清理我的 NEWS-BOT 造成的所有混乱。

目前看来,Mastodon doesn't have the ability to delete all the toots作为一个标准功能。

所以我尝试使用 Mastodon API 递归删除它们,如下所示,但无法获取所有要删除的 Toot ID(状态 ID)。

  1. GET 来自 /api/v1/timelines/home 端点的嘟嘟声 ID。

    curl -X GET --header 'Authorization: Bearer <ACCESS_TOKEN>' -sS https://sample.com/api/v1/timelines/home

  2. DELETE /api/v1/statuses 端点的嘟嘟声,我得到了嘟嘟声 ID。

    curl -X DELETE --header 'Authorization: Bearer <ACCESS_TOKEN>' -sS https://sample.com/api/v1/statuses/<Toot ID>

  3. 循环 2 然后 1 直到空。

它清理了主页时间线。但是 public 个人资料页面上留下了很多嘟嘟声。我还尝试从 ATOM 提要中获取 ID,但没有帮助。

我所需要的只是我刷过的状态 ID 列表。有什么想法吗?


当前结论

截至@unarist advice,

API endpoint

https://sample.com/api/v1/accounts/<account id>/statuses

GET /api/v1/accounts/:id/statuses

将进行抓取。

不过,有3点需要注意:

  1. 默认情况下,此 API 方法仅提供 20 个状态(嘟嘟声信息),最多 40 个。
  2. 授权 API 请求是 limited to 300 requests / 5min (1 request/sec).
  3. 因此,您最多可以删除 84,240 个toots/day。

看来我请求过多,无法获得我需要的信息。所以最好小心服务器的消息! (>_<)/

Mastodon 玩得开心!

主页时间线不仅包含您的帖子,还包含您关注的帖子,并且服务器仅保留每个主页时间线的最近帖子(默认400条)。因此,您无法从中枚举您的所有帖子。

使用 account statuses API 和您的帐户 ID:

https://sample.com/api/v1/accounts​/<account id>/statuses

这 API 是 WebUI 在您的个人资料页面 (/web/accounts/xxx) 上使用的内容。