创建和使用 solvethree API 密钥

作者:solvethree阅读需 1 分钟

在将用于解答任务的工作区中创建密钥。请将完整密钥值保存在服务器上;仅使用界面显示的密钥前缀无法完成身份验证。

本页内容

创建并保存密钥

  1. 1.

    打开 API 密钥

    在控制台中,进入目标工作区的 /api-keys,打开 API 密钥页面。

  2. 2.

    为密钥命名

    选择“创建 API 密钥”。在“密钥名称”中输入便于识别用途的名称,然后选择“创建密钥”。

  3. 3.

    复制完整密钥值

    在“保存你的 API 密钥”下复制密钥值,并妥善保存,以供服务器应用使用。它只会显示一次。

  4. 4.

    关闭对话框

    妥善保存密钥值后,再选择“我已保存此密钥”。

从服务器发送密钥

使用 Authorization: Bearer 后接完整工作区密钥,对请求进行身份验证。不要将其放入浏览器端代码中。

对于下面的示例,请在服务器环境中将 SOLVETHREE_API_KEY 设置为你的密钥值,将 SOLVETHREE_PROXY 设置为你的代理 URL。将 accounts.example.com 和 login 替换为目标主机名和操作。目标站点必须已有此工作区可用的有效配置;发送其主机名并不会创建配置。如果尚未配置,请参阅站点配置设置。

cURL + jq · 创建一个任务
# Set SOLVETHREE_API_KEY and SOLVETHREE_PROXY in your environment first.
# Replace the hostname and action with your active site profile.
jq -n \
  --arg proxy "$SOLVETHREE_PROXY" \
  --arg requestId "login-$(date +%s)-$$" \
  '{site:"accounts.example.com", action:"login", proxy:$proxy, requestId:$requestId}' \
| curl --fail-with-body --max-time 30 \
  'https://api.solvethree.com/v1/tasks?waitMs=15000' \
  -H "Authorization: Bearer $SOLVETHREE_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-binary @-

这会向公共 API 发送任务创建请求。它会创建真实的解答任务,而不只是检查身份验证:就绪任务会计费。仅 HTTP 响应成功并不代表任务已就绪,也不代表目标网站会接受其解答。

区分身份验证错误与任务错误

API 返回 HTTP 401。

检查服务器的 Authorization 请求头。它需要使用 Bearer 后接完整密钥值,而不是密钥名称或显示的前缀。检查密钥是否已被撤销。

试试这样做: 修正请求头,或替换已撤销的密钥并更新服务器配置。尝试读取任务载荷前,先处理非成功的 HTTP 响应。

密钥通过身份验证,但所需的站点配置不可用。

确认密钥属于哪个工作区,以及该工作区是否拥有目标站点的有效配置。其他工作区的有效密钥并非全局凭据。

试试这样做: 使用属于所需配置所在工作区的密钥,或在当前使用的工作区中设置该配置。更改请求中的主机名不会创建配置。

有关其他请求错误和任务失败,请参阅 CAPTCHA API 错误。

运行您的第一个任务。

使用 $5 工作区额度开始体验。

创建工作区
创建和使用 solvethree API 密钥 · solvethree