Google Sheets — WhatsApp 프로필 API

Apps Script를 사용하여 Google Sheets에서 전화번호 열의 유효성을 직접 검사할 수 있습니다. 번호를 붙여넣고 메뉴 명령을 실행하면 인접한 열에 결과가 표시됩니다.

설정

  1. 스프레드시트를 엽니다.
  2. 확장 기능 → 앱스 스크립트.
  3. 아래에 스크립트를 붙여넣으세요.
  4. YOUR_DIRECT_KEY를 교체하세요.
  5. 저장하고 시트를 새로고침하세요. WhatsApp API라는 새 메뉴가 나타납니다.
  6. 전화번호를 A열에 입력하세요(국가 코드는 포함하고, + 기호는 제외). WhatsApp API를 실행하고 A열의 유효성을 검사하세요.

앱스 스크립트

// 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는 실행당 6분의 시간 제한이 있습니다. 초당 2회 요청(BASIC/PRO/ULTRA 버전) 시 한 번 실행에 약 700개의 숫자를 처리할 수 있으며, MEGA 버전(초당 4회 요청)에서는 약 1,400개를 처리할 수 있습니다.
  • 1,000개 이상의 번호가 포함된 목록의 경우, 대량 처리 엔드포인트를 이용하세요. 한 번의 호출로 CSV 파일을 다운로드하고 결과를 다시 붙여넣을 수 있습니다.
  • Apps Script의 UrlFetchApp은 일일 사용량 제한이 따로 있습니다. 무료 계정은 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 (176 리뷰)