第 2 部分:生成并测试 API 密钥

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档
info

已重构并重定向到通过要求 API 密钥 保护 API

一个 开发者 构建一个 应用,该应用会向您的 API 发出请求以 访问您的后端服务。如需控制对 API 的访问权限,您可以要求开发者在每个请求中传递 API 密钥。如果密钥缺失或无效,请求将失败。

发布是将 API 提供给应用开发者使用的 过程。发布 API 大致可分为以下任务:

  1. 在 Apigee Edge 上创建与您的 API 捆绑的 API 产品。
  2. 在 Edge 上注册应用开发者。只有已注册的应用开发者才能注册应用。
  3. 开发者在 Edge 上注册应用以访问 API 产品。作为响应,开发者 会收到一个 API 密钥。现在,开发者拥有了 API 密钥,就可以向您的 API 发出请求了。

如需了解详情,请参阅发布 简介

下表定义了用于注册应用和生成密钥的一些术语:

术语 定义
API 产品 与某个服务方案相结合的一组 API 代理,该服务方案会设置对这些 API 的访问限制。API 产品是 Apigee Edge 用于授权和访问权限控制 API 的核心机制。
开发者 API 使用方。开发者编写的应用会向您的 API 发出请求。
应用 开发者注册以访问 API 产品的客户端应用。向 API 产品注册 应用会生成用于访问该产品中 API 的 API 密钥。
API 密钥 包含授权信息的字符串,客户端应用使用该字符串来访问 公开的 API 产品资源。当注册的应用与 API 产品相关联时,系统会生成 API 密钥。

本教程的前提条件

本教程假定您已完成第一个教程,在该教程中,您创建了一个 API 代理来访问 Yahoo 天气 API。如果您尚未完成第一个教程,请参阅 通过要求 API 密钥保护 API

第 1 步:创建 API 产品

  1. 在管理界面中,依次点击发布 标签页和 产品
  2. 点击 (+) 产品
  3. 在“添加产品”对话框字段中输入或选择以下内容:
    字段
    名称 Free API Product
    显示名称 Free API Product
    说明 Free API Product
    环境 测试
    访问 仅限内部使用
    密钥审批类型 自动
    (API 密钥在生成后会自动获得批准)
    Quota 每 1 小时 10 个请求
    (将每小时的请求数限制为 10 个)
    允许的 OAuth 范围 留空

    填写完毕的对话框应如下所示:

  4. 在“资源”部分中,选择:
    • API 代理weatherapikey
    • 修订版本:1
    • 资源路径:/forecastrss**

      资源路径 指定了产品允许应用访问的资源 URI。在此示例中,应用只能通过此 API 产品访问 weatherapikey 代理上的 /forecastrss 资源。尝试使用此 API 产品访问 weatherapiproxy 代理或 任何其他代理上的任何其他资源都是被禁止的。

      资源路径 允许使用通配符。通配符“/**” 表示包含所有子 URI,即 /forecastrss/foo/bar形式的资源。通配符“/”表示仅包含下一级 URI。 如需了解详情,请参阅创建 API 产品

      请注意,资源路径 下拉列表会显示在指定的 API 代理上定义的所有条件 流。API 代理的条件流定义了 逻辑或处理步骤,与资源路径关联。API 产品控制对这些资源路径的访问权限 。
  5. 点击导入资源 。系统会添加资源路径,并将 weatherapikey API 代理自动添加到 API 代理(适用于 产品) 部分。
  6. 点击保存 。您的新产品将列在“产品”页面上。

了解详情

第 2 步:注册开发者

如需生成 API 密钥,您需要注册应用并将其与 API 产品相关联。不过,您必须先注册应用的开发者,然后才能注册应用。

  1. 在管理界面中,依次点击发布 标签页和 开发者
  2. 点击 (+) 开发者
  3. 在“新建开发者”对话框中,输入以下值:
    • 名字Jane
    • 姓氏Tutorial
    • 电子邮件地址janetutorial@example.com
    • 用户名jtutorial
  4. 点击保存 。新开发者会显示在 “开发者”页面上的开发者列表中。

了解详情

第 3 步:注册应用

现在您已拥有 API 产品和开发者,接下来可以向 API 产品注册应用。注册应用会生成与该应用关联的 API 产品的 API 密钥。 然后,您可以将该密钥分发给应用开发者,以便他们可以从应用访问 API 产品中的功能。

,请参阅什么是开发者门户?
  1. 在 API 平台界面中,依次点击 发布 标签页和 Developer Apps
  2. 点击 (+) Developer App
  3. 在“添加应用”对话框中,输入以下值:
    • 显示名称Weather API Key App
    • 开发者Jane Tutorial (janetutorial@example.com)
    • 回调网址:留空
  4. 将应用与产品相关联:
    1. 产品 部分中,点击 + 产品
    2. 选择 Free API Product
    3. 点击对勾 图标以接受更改。
  5. 点击保存 。新应用会显示在“Developer Apps”页面上的应用列表中。
  6. 在应用列表中选择 Weather API Key App 。系统随即会打开应用的详情页面。
  7. 由于您在创建 API 产品时选择了 Key Approval Type: Automatic ,因此 API 密钥会自动获得批准,您可以立即查看该密钥。(如果您选择了 Approval Type: Manual ,则需要点击 Free API Product 的“操作”列中的批准 ,才能批准 API 密钥。)
  8. 在“产品”部分中,在 Free API Product 的条目旁边,点击 Consumer KeyConsumer Secret 列中的显示 ,以显示生成的密钥。

    使用方密钥是 API 密钥的另一个名称,也是应用通过 API 代理访问 访问 预测 资源 所需的唯一密钥。通过 OAuth 2.0 保护 API 时,需要使用方密钥(以及使用方密钥) 。例如,请参阅 OAuth 2.0: 配置新的 API 代理

了解详情

第 4 步:在请求中使用 API 密钥

为确保 VerifyAPIKey 政策正常运行,您需要使用有效的 API 密钥调用 API 代理来对其进行测试。您可以在浏览器中、API 代理的 跟踪页面中、Apigee 控制台中或使用 c网址 请求 API 代理。请求的网址采用以下格式:

http://{org-name}-test.apigee.net/v1/weatherapikey/forecastrss?w=12797282&apikey=IEYRtW2cb7A5Gs54A1wKElECBL65GVls

{org-name} 替换为您的 Apigee 组织名称,并将 apikey 替换为正确的值。

在响应中查找以下内容:

<rss xmlns:yweather="http://xml.weather.yahoo.com/ns/rss/1.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0"> 
<channel> <title>Yahoo! Weather - Palo Alto, CA</title> 
<link>http://us.rd.yahoo.com/dailynews/rss/weather/Palo_Alto__CA/*http://weather.yahoo.com/forecast/USCA1093_f.html</link> 
<description>Yahoo! Weather for Palo Alto, CA</description> <language>en-us</language>

如果您在请求中省略 API 密钥,或指定 无效的密钥值,您将收到以下格式的错误响应

{"fault":{"faultstring":"Failed to resolve API Key variable null","detail":{"errorcode":"steps.oauth.v2.FailedToResolveAPIKey"}}}

第 5 步:后续操作

现在,您已使用查询参数向 API 发出请求以传递 API 密钥, 接下来请修改 API 以将密钥作为标头传递。

继续学习通过 要求 API 密钥保护 API 。

如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。

最后更新时间 (UTC):2026-09-17。