TwexAPI で X 投稿を削除し、アカウント停止に備える方法
TwexAPI は、認可済みの X アカウントから投稿を削除するために使えます。ただし、X アカウントそのものを削除する API ではありません。アカウントの停止と最終的な削除は、X の公式設定で行います。
X のヘルプでは、停止から 30 日間ログインしなければアカウントが永久削除される流れが説明されています。投稿、DM、メディアのコピーが必要な場合は、停止前に X の設定からデータアーカイブをリクエストしてください。
TwexAPI でできること、できないこと
| 目的 | TwexAPI を使うか | 対応方法 |
|---|---|---|
| 指定した 1 件の投稿を削除 | 使う | POST /twitter/tweets/delete-batch に target_id を渡します。 |
| 認可済みアカウントの投稿を削除 | 使う | バックアップと確認後、target_id なしで POST /twitter/tweets/delete-batch を呼び出します。 |
| X アカウントを永久削除 | 使わない | X の Settings and privacy、Your account、Deactivate your account から行います。 |
| 検索エンジンのキャッシュ削除 | 使わない | 検索エンジン側の削除手続きに従います。X は外部インデックスを制御できません。 |
この手順は、自分が所有している、または明示的に管理を許可されたアカウントにだけ使ってください。
投稿削除前の準備
削除エンドポイントを呼び出す前に、次を確認します。
- 必要なら、X の設定からデータアーカイブをダウンロードします。
- 不要なサードパーティアプリ連携を確認し、必要に応じて取り消します。
- まず 1 件の投稿 ID で削除をテストします。
- API token と X cookie をソース管理に入れないようにします。
- 削除した投稿 ID のローカルログを保存し、後で確認できるようにします。
1 件の投稿を削除する
POST /twitter/tweets/delete-batch には cookie と username が必要です。1 件だけ削除する場合は target_id を追加します。
curl --request POST \
--url https://api.twexapi.io/twitter/tweets/delete-batch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"cookie": "auth_token=...",
"username": "your_username",
"target_id": "1234567890123456789"
}'レスポンスの data には、削除された投稿 ID が返ります。
{
"code": 200,
"msg": "success",
"data": ["1234567890123456789"]
}確認後にアカウント投稿を削除する
エンドポイントの説明では、target_id を省略すると認可済み username の投稿を削除します。この操作は取り消せないものとして扱うべきです。次のスクリプトは、誤実行を防ぐために確認用の環境変数を要求します。
1const token = process.env.TWEXAPI_BEARER_TOKEN;
2const cookie = process.env.X_AUTH_COOKIE;
3const username = process.env.X_USERNAME;
4const confirmDelete = process.env.CONFIRM_DELETE === "I_UNDERSTAND";
5
6if (!token || !cookie || !username) {
7 throw new Error("Set TWEXAPI_BEARER_TOKEN, X_AUTH_COOKIE, and X_USERNAME.");
8}
9
10if (!confirmDelete) {
11 throw new Error('Set CONFIRM_DELETE="I_UNDERSTAND" before deleting account posts.');
12}
13
14async function deleteAccountPosts() {
15 const response = await fetch("https://api.twexapi.io/twitter/tweets/delete-batch", {
16 method: "POST",
17 headers: {
18 Authorization: `Bearer ${token}`,
19 "Content-Type": "application/json",
20 },
21 body: JSON.stringify({
22 cookie,
23 username,
24 }),
25 });
26
27 const result = await response.json();
28 if (!response.ok || result.code !== 200) {
29 throw new Error(result.msg || `Delete request failed with ${response.status}`);
30 }
31
32 console.log(JSON.stringify({ deleted_ids: result.data || [] }, null, 2));
33}
34
35deleteAccountPosts().catch((error) => {
36 console.error(error.message);
37 process.exit(1);
38});必ず 1 件削除を試してから、明示的な確認付きで実行します。
CONFIRM_DELETE="I_UNDERSTAND" \
TWEXAPI_BEARER_TOKEN="<token>" \
X_AUTH_COOKIE="auth_token=..." \
X_USERNAME="your_username" \
node delete-account-posts.jsX アカウントを停止する
投稿の整理後も、アカウント削除は X 側で行います。
- X を開き、Settings and privacy に進みます。
- Your account を開きます。
- Deactivate your account を選択します。
- 停止に関する説明を読み、パスワードで確認します。
- 永久削除が目的なら、停止期間中は再ログインしないようにします。
アカウントのライフサイクルは X が管理するため、画面ラベルや期間が変わった場合は X の公式ヘルプを基準にしてください。
まとめ
TwexAPI が実際に担当できるのは、認可済みアカウントの投稿削除です。アカウント停止と永久削除は、X の公式設定で完了します。
この境界を明確にすると、API だけで X アカウント全体を削除できるかのような誤解を避けられます。