solvethreeがwebsiteKeyフィールドではなくサイトプロファイルを使う理由

著者:solvethree読了時間:1分

solvethreeでは、reCAPTCHAのサイトキーとページ設定をサイトプロファイルに保持します。タスクリクエストでは、websiteKeyやwebsiteURLではなく、siteにホスト名、actionに実行アクションを指定し、プロキシを渡します。

別のAPIから移行する場合、フィールド名を変更するだけでは済みません。まず、ワークスペースで有効なプロファイルを設定してください。ホスト名、アクション、サイトキーを送信するだけでは、プロファイルは作成されません。

このページの内容

コンソールでサイトキーとページを設定する

  1. 1.

    「サイトを追加」を開く

    サイトプロファイルを開き、「サイトを追加」を選択します。対象のHTTPSページURLを入力してください。タスクでは、この完全なURLではなく、そのホスト名を使用します。ページ設定に必要な場合は、任意項目のナビゲーションURLとReferer値も指定してください。

  2. 2.

    タイプを選び、サイトキーを確認する

    reCAPTCHA Enterprise連携ではEnterprise v3を、通常のreCAPTCHA v3ではRegular v3を選択します。フォームはサイトキーを自動検出できます。任意のサイトキーフィールドに値を指定すると、上書きできます。

  3. 3.

    キャプチャアクションを設定する

    キャプチャアクションは必須です。以下のリクエストでは、キャプチャアクションがloginのプロファイルを設定してください。審査済みのシステムプロファイルでは、ライブ取得を行わずに既知のページ設定とキャプチャアクションを入力できます。選択したアクションについて、フォーム内の説明を確認してください。

  4. 4.

    送信して有効になるまで待つ

    「サイトを追加」を選択します。送信した設定は、有効になるまでにキュー待ち、キャプチャ中、検証中、審査中の状態を経る場合があります。キャプチャにかかる時間は保証されません。アカウントによっては「続行するにはクレジットを追加」と表示されます。キャプチャが失敗した場合は、再試行する前に理由を確認してください。

ホスト名、キャプチャアクション、reCAPTCHAタイプの組み合わせごとに1つのプロファイルを使用してください。実行アクションが完全一致すると、そのプロファイルが選択されます。それ以外の実行アクションでは、キャプチャ対象を一意に特定できる必要があります。そのため、あるホスト名の1つのプロファイルですべてのアクションに対応できるとは考えないでください。

フラット形式のタスクリクエストを送信する

プロファイルが有効になったら、このオブジェクトをJSON本文としてPOST /v1/tasksに直接送信します。Authorization: Bearerに続けてワークスペースのAPIキーを指定して認証し、そのキーはサーバー上で保管してください。

reCAPTCHA Enterprise · リクエストの構造
{
  "site": "accounts.example.com",
  "action": "login",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "example_login_001"
}
  • siteはホスト名です。スキーム、パス、クエリは含めません。完全なページURLはコンソールのプロファイルに設定します。
  • actionは、このタスクの実行アクションです。ここでは、loginが上で設定したキャプチャアクションと一致します。
  • proxyは解決に使用するプロキシを指定します。proxyとproxyCandidatesのどちらか一方だけが必須です。両方を送信しないでください。
  • requestIdは任意です。作成がタイムアウトした場合、同じIDで同じリクエストを再送信すると、既存のタスクが返されます。そのIDを再利用しながらタスクの入力を変更すると、競合が発生します。

以前のAPIのリクエスト形式からwebsiteKey、websiteURL、type、urlを引き継がないでください。reCAPTCHAではrecaptchaTypeのデフォルトがenterprise-v3のため、この例では省略しています。通常のv3では、recaptchaTypeをv3に設定します。

最初のタスクを実行しましょう。

$5のワークスペースクレジットで始められます。

ワークスペースを作成
solvethreeがwebsiteKeyフィールドではなくサイトプロファイルを使う理由 · solvethree