Google スプレッドシート - WhatsApp プロフィール API

Apps Scriptを使用して、Googleスプレッドシート内で電話番号の列を直接検証します。数値を貼り付け、メニューコマンドを実行すると、結果が隣接する列に表示されます。

設定

  1. シートを開きます。
  2. 拡張機能 → Apps Script
  3. 以下のスクリプトを貼り付けてください。
  4. YOUR_DIRECT_KEYを置き換えてください。
  5. 保存します。シートを再読み込みします。新しいメニュー「WhatsApp API」が表示されます。
  6. 電話番号をA列に入力してください(国番号を含め、プラス記号は不要です)。WhatsApp APIを実行し、A列を検証してください。

Apps Script

// Direct proxy: use your direct-purchase key from our dashboard.
// RapidAPI marketplace: set API_BASE = "https://wp-data.p.rapidapi.com"
// AND uncomment the x-rapidapi-host header below.
const API_KEY = "YOUR_DIRECT_KEY";
const API_BASE = "https://whatsapp-proxy.checkleaked.cc";

function onOpen() {
  SpreadsheetApp.getUi()
    .createMenu("WhatsApp API")
    .addItem("Validate column A", "validateColumnA")
    .addToUi();
}

function validateColumnA() {
  const sheet = SpreadsheetApp.getActiveSheet();
  const lastRow = sheet.getLastRow();
  if (lastRow < 2) return;
  const numbers = sheet.getRange(2, 1, lastRow - 1, 1).getValues();

  // Header row
  sheet.getRange(1, 2, 1, 4).setValues([["isWAContact", "about", "isBusiness", "profilePic"]]);

  for (let i = 0; i < numbers.length; i++) {
    const number = String(numbers[i][0]).replace(/[^0-9]/g, "");
    if (!number) continue;

    try {
      const res = UrlFetchApp.fetch(
        `${API_BASE}/number/no_picture/${number}`,
        {
          headers: {
            "x-rapidapi-key": API_KEY,
            // "x-rapidapi-host": "wp-data.p.rapidapi.com",  // RapidAPI only
          },
          muteHttpExceptions: true,
        }
      );
      const data = JSON.parse(res.getContentText());
      sheet.getRange(i + 2, 2, 1, 4).setValues([[
        data.isWAContact || false,
        data.about || "",
        data.isBusiness || false,
        data.profilePic || "",
      ]]);
    } catch (e) {
      sheet.getRange(i + 2, 2).setValue("ERROR");
    }

    // Respect tier burst limits — sleep 500 ms between requests (2/sec). MEGA tier: 250 ms (4/sec).
    Utilities.sleep(500);
  }
}

ボリュームガイダンス

  • Google Sheets Apps Script には、1 回の実行につき 6 分という制限があります。2 リクエスト/秒 (BASIC/PRO/ULTRA) では、1 回の実行で約 700 個の数値を処理できます。MEGA では 4 リクエスト/秒で約 1,400 個の数値を処理できます。
  • 1,000件を超える番号のリストの場合は、一括処理エンドポイントをご利用ください。1回の呼び出しでCSVファイルをダウンロードし、結果を貼り付けるだけです。
  • Apps ScriptのUrlFetchAppには、1日あたりの呼び出し回数に個別の制限があります。無料アカウントの場合は20,000回、Workspaceの場合は100,000回です。両方のアカウントを監視してください。

行編集時のトリガー

「貼り付け時に検証する」ワークフローの場合、インストール可能なトリガーを追加します。

function onEditValidate(e) {
  if (e.range.getColumn() !== 1 || e.range.getRow() < 2) return;
  // ... call validateSingleRow(e.range.getRow())
}

トリガー → トリガーの追加 → onEditValidate → スプレッドシートから → 編集時 にインストールします。

関連している

ユーザーの声

満足した顧客からの実際のレビュー

4.5/5 (179 レビュー)