コンテンツにスキップ
Twexapi
日本語
Esc
移動開く⌘Jプレビュー
このページの内容

Pipedream

TwexAPI 経由で Pipedream ワークフロー自動化を構築し、ツイート検索、プロフィール、トレンドツイート、HTTP トリガー、承認済み投稿を実現する。

検索、プロフィール、トレンドツイート、承認済み投稿向け Pipedream Twitter 連携を構築します。TwexAPI はすべてのワークフローに1つの REST API と1つの API キーを提供します。

エージェントハンドオフには webhook トリガー、定期検索にはスケジュールトリガー、カスタム正規化にはインラインコードステップを選択してください。

Pipedream 自動化パターンを選択

HTTP trigger + code step

MCP エージェントから厳密な JSON を受信し、行を正規化して Slack または Sheets にルーティング。

スケジュールされた REST 読み取り

ツイート検索またはトレンドレポート用に TwexAPI を定期呼び出し。

プライベートコンポーネントパッケージ

チーム全体が同じアクションを必要とする場合、繰り返し認証済みリクエストをパッケージ化。

検索、webhook ハンドオフ、フォロワーエクスポート、承認済み書き込みを別ワークフローに分割してください。小さなワークフローの方がエラーとレート制限が明確になります。

前提条件

  • TwexAPI API キー
  • Pipedream アカウント
  • オプション: Slack、Google Sheets、Airtable、データベース接続アカウント
  • オプション: https://api.twexapi.io/mcp に接続された MCP 対応エージェント

サーバーレス API 連携

すべての TwexAPI リクエストは https://api.twexapi.io から開始します。Authorization: Bearer ヘッダーで API キーを送信します。キーはステップエクスポートやログではなく Pipedream 環境変数に保持してください。

export TWEXAPI_API_KEY="YOUR_API_KEY"

GET /balance を最初の認証チェックとして使用してください。X アカウントを変更せず API キーを検証します。

共有リクエストヘルパー

export default defineComponent({
  props: {
    twexapi: {
      type: "string",
      label: "TwexAPI API Key",
      secret: true,
    },
  },
  methods: {
    async twexapiRequest($, { method, path, body, params }) {
      const url = new URL(`https://api.twexapi.io${path}`);
      if (params) {
        Object.entries(params).forEach(([key, value]) => {
          if (value !== undefined && value !== null) {
            url.searchParams.set(key, String(value));
          }
        });
      }

      const response = await fetch(url, {
        method,
        headers: {
          Authorization: `Bearer ${this.twexapi}`,
          "Content-Type": "application/json",
        },
        body: body ? JSON.stringify(body) : undefined,
      });

      if (!response.ok) {
        throw new Error(`TwexAPI request failed with HTTP ${response.status}`);
      }

      return response.json();
    },
  },
});

スターターアクション

Action TwexAPI route
ツイート検索 POST /twitter/advanced_search/page
ユーザープロフィール取得 GET /twitter/{screen_name}/about
ユーザー検索 GET /twitter/search-user/{keyword}/{target_count}
トレンド取得 GET /twitter/global-trending/tweets
フォロワー一覧 POST /v3/twitter/users/followers
ツイート作成 POST /twitter/tweets/create

ツイート検索コードステップ

export default defineComponent({
  async run({ steps, $ }) {
    const response = await fetch("https://api.twexapi.io/twitter/advanced_search/page", {
      method: "POST",
      headers: {
        Authorization: `Bearer ${process.env.TWEXAPI_API_KEY}`,
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        searchTerms: ["AI agents lang:en"],
        sortBy: "Latest",
        nextCursor: "",
      }),
    });

    if (!response.ok) {
      throw new Error(`TwexAPI request failed with HTTP ${response.status}`);
    }

    return response.json();
  },
});

Webhook ファーストフロー

  1. Pipedream で HTTP トリガーを作成。
  2. MCP 対応エージェントに TwexAPI 行を収集し厳密な JSON を返させる。
  3. JSON を Pipedream エンドポイントに POST。
  4. コードステップで行を正規化・重複排除。

JavaScript 正規化ステップ

export default defineComponent({
  async run({ steps }) {
    const payload = steps.trigger.event.body;

    return (payload.tweets || []).map((tweet) => ({
      id: tweet.tweet_id || tweet.id,
      url: tweet.public_url ?? `https://x.com/i/web/status/${tweet.tweet_id || tweet.id}`,
      author: tweet.author_username,
      text: tweet.text || tweet.full_text,
      created_at: tweet.created_at,
      route_used: payload.route_used,
      next_cursor: payload.next_cursor,
    }));
  },
});

推奨 MCP エージェントプロンプト:

Use Twexapi MCP to get quote tweets for tweet ID 1803006263529541838.
Return only JSON with route_used, source_tweet_id, has_more, next_cursor, and tweets.
Each tweet must include tweet_id, author_username, text, created_at, and public_url.
Do not call write endpoints.

結果ハンドオフ

ツイートページ

tweet_count, has_more, next_cursor をエクスポート。tweet_id, text, author_username, created_at 付き行を返す。

プロフィールデータ

user_id, username, name, フォロワー数、認証フィールドをエクスポート。

トレンドバッチ

国、トピック、コンテンツタグ、ワークフローメタデータ付きツイート行をエクスポート。

書き込みアクション

CLI --dry-run でプレビュー。書き込みアクションには cookie または auth_token が必要。

エラー処理

下流行をエクスポートする前に各ステータスをルーティングしてください。

ステータス 対処法
400 リクエストフィールドを修正。変更なしでリトライしない。
401 API キーを差し替え。
403 アカウントアクセスまたはクレジットを解決。
429 バックオフし、カーソルを保持。
5xx 安全な読み取りに上限付きバックオフでリトライ。

下流処理が成功した後にのみページカーソルを永続化してください。

レシピ

ツイート検索から Slack

  1. レポート頻度でワークフローをスケジュール。
  2. POST /twitter/advanced_search/page を呼び出し。
  3. エンゲージメント閾値でツイートをフィルター。
  4. 選択ツイートの本文、著者、リンクを Slack に送信。

エージェントハンドオフから Google Sheets

  1. HTTP トリガーが MCP ハンドオフ JSON を受信。
  2. ツイート行を正規化。
  3. tweet_id で Sheets に upsert。

フォロワーページから CRM

  1. HTTP またはスケジュールステップが POST /v3/twitter/users/followers を呼び出し。
  2. フォロワー行を正規化。
  3. CRM が user_id で upsert。
  4. データストアが next_cursor を保持。

テストチェックリスト

  • トリガーボディが有効な JSON であることを確認。
  • tweet_id または user_id を重複排除キーとして使用。
  • スケジュール継続用に Pipedream データストアに next_cursor を保存。
  • TWEXAPI_API_KEY は環境変数のみに保持。
  • ステップ出力に Bearer トークンをログしない。

次のステップ

このページは役に立ちましたか?