抓取您的商店

您可以使用 Web Bot Auth 安全地授权您自己的爬虫、脚本或工具访问您的公开 Shopify 在线商店。Web Bot Auth 依赖于 HTTP 消息签名,这些签名在您的 Shopify 后台中生成。您必须在每个请求的 HTTP 标头中包含此签名,以便验证该请求来自已授权的源。

您可以通过自动化的第一方或第三方工具使用签名,这些工具会出于辅助功能和 SEO 审核、自动化测试、数据分析以及类似用例访问您的在线商店。无需签名,您的商店就可以被搜索引擎和大型语言模型 (LLM) 建立索引。

签名功能

签名具有以下功能:

  • 安全身份验证:您可以为您的爬虫生成具备加密安全性的签名。
  • 到期控制:您可以将签名设置为在特定时间段后到期。最长有效期为 3 个月。
  • 集中管理:您可以在一个位置管理和查看所有签名。
  • 自定义命名:您可以为每个签名指定自定义名称,以方便识别。
  • 域名范围:每个签名均用于特定的域名,该域名必须连接到您的 Shopify 商店

创建签名的注意事项

在创建和使用签名之前,请查看以下注意事项:

  • 使用签名抓取您的商店仅用于分析您的在线店面。由于结账功能具有额外的安全层,签名不会授予对您的 Shopify 结账的访问权限。
  • 为您的签名使用清晰的描述性名称。
  • 签名会自动过期且无法续订。签名过期后,请创建新签名并更新您的工具。
  • 每个签名都用于一个域名,因此您必须指定签名将用于哪个已连接的域名。您只能选择已连接到 Shopify 的域名。

创建签名

您可以直接在 Shopify 后台中创建和管理签名。

  1. 在 Shopify 后台中,前往在线商店 > 偏好设置

  2. 抓取工具访问权限部分,点击创建签名

  3. 名称字段中,为您的签名输入一个描述性名称。

  4. 域名字段中,选择要将此签名用于的域名。

  5. 有效期部分,为您的签名选择一个有效期。

  6. 点击创建

  7. 可选:若要复制您新创建的 Signature-InputSignature 值,请点击每个值旁边的复制

签名到期后即失效。您无法续订已到期的签名,但可以创建新的签名。

为请求添加签名

您可以复制您的签名,然后将它们添加到您请求的 HTTP 标头中。每个签名均包含 3 个您必须包括的 HTTP 标头。

使用签名对爬虫请求进行身份验证所需的 HTTP 标头名称和值
标头名称标头值
Signature-Input添加您的签名输入值。
签名添加您的签名值。
Signature-AgentSignature-Agent 值是一个字符串,其中包含代理的有效 URI。请将 "https://shopify.com"(含引号)用作此值。

有关添加自定义标头的说明,请参阅以下文档:

查看签名

您可以在 Shopify 后台中查看有关您现有签名的以下信息:

  • 签名名称
  • 关联的域名
  • Signature-InputSignature 值的前几个字符
  • Signature-Agent
  • 签名到期日期和状态
  1. 在 Shopify 后台中,前往在线商店 > 偏好设置

  2. 爬虫访问部分,查看有关您签名的信息。

对签名进行故障排除

选择签名问题,然后按照故障排除步骤操作。

对身份验证问题进行故障排除

如果您的抓取工具收到速率限制错误,则表示您的签名无效。请验证以下信息:

  • 确认您在 HTTP 标头中使用的是正确的签名格式。
  • 确保 Signature-InputSignatureSignature-Agent 标头随每个请求一起发送。
  • 验证签名尚未过期。请在 Shopify 后台中查看其到期日期。
  • 抓取与签名关联的域名。
恢复丢失的签名

如果您的签名丢失,则可以通过完成以下步骤来恢复:

  1. 在您的 Shopify 后台中,前往在线商店 > 偏好设置
  2. 抓取工具访问权限部分,在列表中找到您的签名。
  3. 点击复制以将 Signature-InputSignatureSignature-Agent 的值复制到剪贴板。
更改签名到期日期

创建签名后,您将无法更改其到期日期。如需设置其他到期日期,请使用首选到期日期创建新签名,然后更新您的服务以使用该新签名。

旧签名在其原始到期日期之前仍然有效并可继续使用。