Post to X (Twitter) using official API with OAuth 1.0a. Supports tweets, threads, media. Use when user says "X API", "tweet via API", "post to X".
Scanned 9/12/2026
Install to Claude Code
npx -y skills add aibot88/sec_skill_store --skill rey-x-api --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Rey X Api?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/aibot88-rey-x-api)More formats (shields.io, HTML) on the badges page.
---
name: rey-x-api
description: Post to X (Twitter) using official API with OAuth 1.0a. Supports tweets, threads, media. Use when user says "X API", "tweet via API", "post to X".
auto_trigger: false
---
# X API 投稿スキル
X(旧Twitter)公式APIを使った投稿スキル。Workers APIエンドポイント経由。
## アーキテクチャ
```
MoltBot → /x/tweet → Workers (OAuth署名) → X API
```
**重要**: OAuth認証はWorkers側で行われる。MoltBotはWorkersのAPIを呼ぶだけ。
## 必要な環境変数(Cloudflare Workers Secrets)
```
X_API_KEY # Consumer Key (API Key)
X_API_SECRET # Consumer Secret (API Secret Key)
X_ACCESS_TOKEN # Access Token
X_ACCESS_TOKEN_SECRET # Access Token Secret
CDP_SECRET # API認証用シークレット
```
---
## Workers APIエンドポイント
### ステータス確認
```
GET /x/status
```
### ツイート投稿
```
POST /x/tweet?secret={CDP_SECRET}
Content-Type: application/json
{
"text": "ツイート内容(最大280文字)",
"reply_to": "返信先ツイートID(オプション)",
"quote_tweet_id": "引用ツイートID(オプション)"
}
```
### スレッド投稿
```
POST /x/thread?secret={CDP_SECRET}
Content-Type: application/json
{
"tweets": ["1つ目のツイート", "2つ目のツイート", ...]
}
```
### ツイート削除
```
DELETE /x/tweet/{tweet_id}?secret={CDP_SECRET}
```
---
## MoltBotからの呼び出し方法
### 1. テキスト投稿
```javascript
// MOLTBOT_URL と CDP_SECRET は環境変数から取得
const response = await fetch(`${env.MOLTBOT_URL}/x/tweet?secret=${env.CDP_SECRET}`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ text: 'Hello World!' })
});
const result = await response.json();
// { success: true, data: { id: "12345", text: "Hello World!" }, url: "https://x.com/i/status/12345" }
```
### 2. スレッド投稿
```javascript
const response = await fetch(`${env.MOLTBOT_URL}/x/thread?secret=${env.CDP_SECRET}`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
tweets: [
'AIツールを100個試した',
'本当に使えるのは5個',
'その5個を紹介します'
]
})
});
const result = await response.json();
// { success: true, data: [...], url: "https://x.com/i/status/12345", count: 3 }
```
---
## API料金(従量課金)
```
投稿(POST):
├── ツイート投稿: ~$0.01/回
├── 削除: ~$0.005/回
└── リツイート: ~$0.005/回
読み取り(GET):
├── ツイート取得: ~$0.005/回
├── ユーザー情報: ~$0.005/回
└── メンション取得: ~$0.01/回
月額上限設定推奨(予算管理)
```
---
## x-browser との使い分け
| 項目 | x-api | x-browser |
|------|-------|-----------|
| **方式** | 公式API | ブラウザ自動化 |
| **コスト** | 従量課金(~$0.01/回) | 無料 |
| **信頼性** | 高い | UI変更で壊れる可能性 |
| **制限** | API制限 | アカウント凍結リスク |
| **機能** | 基本機能のみ | 全機能 |
| **推奨用途** | 自動化、Bot | 手動サポート |
### 推奨
```
ビジネス用途 → x-api(信頼性重視)
実験・テスト → x-browser(コスト0)
大量投稿 → x-api(安定性)
複雑な操作 → x-browser(全機能)
```
---
## エンドポイント一覧
### 投稿関連
```
POST /2/tweets # ツイート投稿
DELETE /2/tweets/:id # ツイート削除
POST /2/tweets/:id/retweets # リツイート
DELETE /2/tweets/:id/retweets # リツイート取消
```
### メディア
```
POST /1.1/media/upload.json # メディアアップロード
```
### 読み取り
```
GET /2/tweets/:id # ツイート取得
GET /2/users/me # 自分の情報
GET /2/users/:id/mentions # メンション取得
```
---
## エラーハンドリング
```javascript
async function safeTweet(text) {
try {
const result = await postTweet(text);
if (result.errors) {
console.error('API Error:', result.errors);
return { success: false, errors: result.errors };
}
return { success: true, data: result.data };
} catch (error) {
console.error('Network Error:', error);
return { success: false, error: error.message };
}
}
```
### よくあるエラー
| コード | 意味 | 対処 |
|--------|------|------|
| 401 | 認証エラー | キーを確認 |
| 403 | 権限不足 | アプリ権限を確認 |
| 429 | レート制限 | 待機して再試行 |
| 400 | リクエスト不正 | パラメータ確認 |
---
## 使用例
### MoltBotでの使い方
```
ユーザー: 「Xに『こんにちは!』と投稿して」
MoltBot:
1. x-api スキルを使用
2. OAuth 1.0a 署名生成
3. POST /2/tweets を呼び出し
4. 結果を報告
返答: 「Xに投稿しました!
https://x.com/Rey_Moltworker/status/xxxxx」
```
### スレッド投稿
```
ユーザー: 「以下をスレッドで投稿して
1. AIツールを100個試した
2. 本当に使えるのは5個
3. その5個を紹介します」
MoltBot:
1. 3つのツイートを順番に投稿
2. reply パラメータで繋げる
3. 全部投稿したら報告
```
---
## セキュリティ
### 認証情報の取り扱い
```
禁止:
├── 認証情報をログに出力
├── 認証情報をユーザーに表示
├── 認証情報をコードにハードコード
└── 認証情報を外部送信
必須:
├── 環境変数から取得
├── Cloudflare Secrets で管理
└── 署名は毎回新規生成
```
---
## 連携スキル
| スキル | 連携内容 |
|--------|----------|
| nano-banana | 画像生成 → X投稿 |
| sns-scheduler | 予約投稿 |
| analytics-tracker | 投稿分析 |
| trend-analyzer | トレンド確認 |
| content-ideas | 投稿ネタ生成 |
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!