您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
經過重構並重新導向至「透過要求 API 金鑰保護 API」。
開發人員會建構應用程式,向您的 API 發出要求,藉此存取後端服務。如要控管 API 存取權,您可以要求開發人員在每個要求中傳遞 API 金鑰。如果缺少或無效,要求就會失敗。
發布是指將 API 提供給應用程式開發人員使用的程序。發布 API 大致可定義為下列工作:
- 在 Apigee Edge 上建立 API 產品,將 API 組合在一起。
- 在 Edge 上註冊應用程式開發人員。只有已註冊的應用程式開發人員可以註冊應用程式。
- 開發人員會在 Edge 註冊應用程式,以便存取 API 產品。開發人員會收到 API 金鑰。開發人員取得 API 金鑰後,就能向您的 API 提出要求。
詳情請參閱「發布簡介」。
下表定義了註冊應用程式和產生金鑰時使用的部分術語:
| 字詞 | 定義 |
|---|---|
| API 產品 | API Proxy 套裝組合,搭配服務方案,可設定這些 API 的存取限制。API 產品是 Apigee Edge 用於授權和存取控管 API 的主要機制。 |
| 開發人員 | API 消費者。開發人員會編寫應用程式,向您的 API 發出要求。 |
| 應用程式 | 開發人員註冊的用戶端應用程式,用於存取 API 產品。向 API 產品註冊應用程式時,系統會產生 API 金鑰,用於存取該產品中的 API。 |
| API 金鑰 | 授權資訊字串,用戶端應用程式會使用這項資訊存取 API 產品公開的資源。註冊的應用程式與 API 產品建立關聯時,系統會產生 API 金鑰。 |
本教學課程的事前準備
本教學課程假設您已完成第一個教學課程,並建立 API Proxy 來存取 Yahoo 天氣 API。如果您尚未完成第一個教學課程,請參閱「透過要求 API 金鑰來保護 API 安全」。
步驟 1:建立 API 產品
- 在管理使用者介面中,依序點選「發布」分頁和「產品」。
- 按一下「(+) 產品」。
- 在「新增產品」對話方塊欄位中輸入或選取下列項目:
欄位 值 名稱 免費 API 產品 顯示名稱 免費 API 產品 說明 免費 API 產品 環境 測試 存取權 僅供內部使用 核准類型 自動
(系統會在產生 API 金鑰後自動核准)配額 每 1 小時 10 項要求
(每小時要求數上限為 10 項)允許的 OAuth 範圍 留空 填寫完畢的對話方塊應如下所示:

- 在「資源」部分中,選擇下列選項:
- API Proxy:weatherapikey
- 修訂版本:1
- 資源路徑:/forecastrss**
資源路徑會指定產品允許應用程式存取的資源 URI。在本例中,應用程式只能透過這個 API 產品,存取 weatherapikey Proxy 上的 /forecastrss 資源。禁止嘗試使用這個 API 產品,存取 weatherapiproxy Proxy 或任何其他 Proxy 上的任何其他資源。
「資源路徑」可使用萬用字元。萬用字元「/**」表示包含所有子 URI,也就是 /forecastrss/foo/bar 形式的資源。萬用字元「/」表示只會納入下一層級的 URI。詳情請參閱「建立 API 產品」。
請注意,「資源路徑」下拉式清單會顯示指定 API Proxy 上定義的所有條件流程。API Proxy 的條件流程會定義與資源路徑相關聯的邏輯或處理步驟。API 產品可控管這些資源路徑的存取權。

- 按一下「匯入資源」。資源路徑已新增,且「weatherapikey」API Proxy 會自動新增至「API Proxies for Product」部分。
- 按一下 [儲存]。新產品會列在「產品」頁面。
瞭解詳情:
步驟 2:註冊開發人員
如要產生 API 金鑰,請註冊應用程式並與 API 產品建立關聯。不過,您必須先註冊應用程式開發人員,才能註冊應用程式。
- 在管理 UI 中,依序點選「發布」分頁標籤和「開發人員」。
- 按一下「(+) 開發人員」。
- 在「New Developer」對話方塊中,輸入下列值:
- 名字:Jane
- 「Last Name」(姓氏):Tutorial
- 電子郵件地址:janetutorial@example.com
- 使用者名稱:jtutorial
- 按一下 [儲存]。新的開發人員會顯示在「開發人員」頁面的開發人員清單中。
瞭解詳情:
步驟 3:註冊應用程式
您已擁有 API 產品和開發人員,現在可以向 API 產品註冊應用程式。註冊應用程式後,系統會為與該應用程式相關聯的 API 產品產生 API 金鑰。接著,您可以將金鑰發放給應用程式開發人員,讓他們透過應用程式存取 API 產品中的功能。
- 在 API 平台 UI 中,依序點選「發布」分頁標籤和「開發人員應用程式」。
- 按一下「(+) 開發人員應用程式」。
- 在「新增應用程式」對話方塊中,輸入下列值:
- 顯示名稱:Weather API Key App
- 開發人員:Jane Tutorial (janetutorial@example.com)
- 回呼網址:留空
- 將應用程式與產品建立關聯:
- 在「產品」部分,按一下「+ 產品」。
- 選取「Free API Product」(免費 API 產品)。
- 按一下勾號圖示,接受變更。
- 按一下「儲存」。新應用程式會顯示在「開發人員應用程式」頁面的應用程式清單中。
- 在應用程式清單中選取「Weather API Key App」。系統會開啟應用程式的詳細資料頁面。
- 由於您在建立 API 產品時選取「金鑰核准類型:自動」,因此系統會自動核准 API 金鑰,您可以立即查看。(如果選取「核准類型:手動」,則須在「免費 API 產品」的「動作」欄中點選「核准」,才能核准 API 金鑰)。
- 在「產品」部分中,點選「Free API Product」項目旁邊的「顯示」,即可在「用戶端金鑰」和「用戶端密鑰」欄中查看產生的金鑰。
「消費者金鑰」是 API 金鑰的別名,也是應用程式透過 API Proxy 存取預報資源時,唯一需要的金鑰。如要透過 OAuth 2.0 保護 API 安全,必須提供用戶端密鑰 (以及用戶端金鑰)。請參閱「OAuth 2.0:設定新的 API Proxy」一文。
瞭解詳情:
步驟 4:在要求中使用 API 金鑰
如要確保 VerifyAPIKey 政策正常運作,您必須使用有效的 API 金鑰呼叫 API Proxy,藉此進行測試。您可以在瀏覽器中、API Proxy 的「追蹤」頁面、Apigee 控制台,或使用 cURL 要求 API Proxy。要求的網址格式如下:
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 安全無虞。