[Apigee] Portal發佈 APIs 協助開發人員串接服務 | Self Service API Discovery & Sign Up Experience

Purpose

APIM是為開發人員提供一個簡單、靈活、全受管,且可以處理針對應用程式後端而建立和操作穩固 API 的所有層面。那麼透過 API Management,您可以用較少的投資更快速啟動新服務,以便將重點放在建置核心商業服務上。因為API Management 的建置是可以建制一個Developer Portal透過已編譯過的Open API sepc,供開發者測試API 並掌握各種Response, Parameter設計,以利快速串接API 開發TSP 服務,今天的分享即是在Apigee上刻一個專有 Developer Portal供你的合作廠商測試你的API。

Prepare Target Point

  • 準備測試用的API backend, API proxy, product, Apps

step1. deploy Proxy, Product

Untitled.png

step2. Check proxy with lab6

API proxy > done

Untitled1.png

API products > done

Untitled2.png

Apps > done

Untitled3.png

step3. Export your API Proxy

這個步驟只是備份用而已,對後面的實作沒有關系

  • 請至lab6 proxy
  • 確認你的lab6-catalog.xml 檔案是否存在,以及確認APIProxy revision=x name 要等於 =”lab6-catalog”

Untitled4.png

Untitled5.png

step4. Create GCS and upload APIProxy folder

Untitled6.png

OpenAPI Sepc

上傳Open API 範例至Spec

step1. import URL

Untitled7.png

記錄Apps KEY

Untitled8.png

step2. Authorize KEY

  • 我們在Open Spec頁面中,可以直接測試API
  • 但必預先驗證過Key的值,才能繼續在測試頁面發送request

Untitled9.png

驗證 > done

Untitled10.png

step3. Test Send out request

可以正常發送request

Untitled11.png

認識OpenAPI Spec 格式

#1 basePath:

說在在這個endpoint之下的那一個basePath是可用的

Untitled12.png

#2 securityDefinitions:

說明這隻API 使用的驗證方試為verify API key

Untitled13.png

#3 paths:

說明有實作那些methods

  • description
  • schema

Untitled14.png

#4 definitions

  • 其中使用了$ref 更細項的definitions,同時也將定義的後面寫在下方

Untitled15.png

右側欄的項目,都是來自Open API spec中所定義的definitions

Untitled16.png

step3. Test API

  • 測試API,得到 200 response
  • 同時也得到完整的response structure

Untitled17.png

測試結果如下

response results

1
{
2
  "products": [
3
    {
4
      "id": "OLJCESPC7Z",
5
      "name": "Vintage Typewriter",
6
      "description": "This typewriter looks good in your living room.",
7
...
8
}

#1 In console畫面可得到如下

Untitled18.png

#2 terminal curl方法測試

Untitled19.png

#3 HTTP 方法測試

Untitled20.png

API Publishing: Developer Portal

完成了SmartDoc 中的測試,接下來我們把API 發佈至public製作一個網站供測試,步驟如下

step1. 建立developer portal

  • Name: Demo_Hipster Developer Portal
  • Description: Developer Portal for Hipster APIs

Untitled21.png

符合命名

Untitled22.png

step2. 加入APIM 內的APIs

  • 因為Apigee Edge 版本差異,項目可能為APIs, 亦或是API Catalog

Untitled23.png

右上角的 + API

Untitled24.png

step3. 3 Follows to inest API

  • 選擇API Products

Untitled25.png

  • DOCUMENTATION
    選擇你的Open API Spec

Untitled26.png

記得選擇先帶入的Open API Spec 命為Hipster Products API

Untitled27.png

確認完成,點選Finish

Untitled28.png

step4. Portal overview

  • 回到Portal overvie檢查剛剛加入的Portal
  • 以及選入的API product, API Spec

Untitled29.png

Discovering API products on the Portal

step1. 轉至Developer portal

第一次測試,我設定為public,所以不用登入

Untitled30.png

step2. View APIs

請至APIs,查看lab6-catalog-product

Untitled31.png

基本上可以看剛Open API Spec測試頁面一樣的Spec, 以及定義出的structure

Path: /products

Untitled32.png

Execute#1 Error no Authorize

  • 嘿嘿,這個當然也是要經過驗證身份,若沒有驗證過就會得到error

Untitled33.png

Execute#2 Authorize

  • 我們乖乖得做完驗證

Untitled34.png

  • 可以正常送request

Untitled35.png

Registering an application on the Portal

這次我們要註冊一個user,你可以想像是外部的TSP,要和你們合作開發,正準備進入你們公司的APIs inventory,我們現在把URL提供給他們,只要他們一經驗證就可以進來測試這些你授權的APIs

step1.

  • Sign In a USER> Create account
  • 請至信箱開發認證網址

Untitled36.png

Untitled37.png

目前的user是有指定的註冊者身份,請見右上方

Untitled38.png

step2. NEW APP to create a new application.

有了註冊後的帳號,我們可以就自已建立自已的APIs, key,透過這把key 可以存取自已名下的APIs

  • 設定App name, description, 並選入 lab6-catalog-product
  • 確認APIs 的狀態應為 Actives

App Name: ProductCatalogApp

Description: Application to manage the product catalog

Untitled39.png

step3. Generate ID, API Keys

TSP 開發者,有別於Apps key之外,可以有自已key, 當然也有自已的key expires

  • App ID
  • API Keys

Untitled40.png

step4. 使用新的User key 發送request

  • Apoted NEW API KEY,同樣也可以得到正常的response結果

Untitled41.png


結論

完成以上的Portal建製與授權,建立APIM Portal 總結目有三項

  • 發布 API 並協助開發人員順利上手

    可供自訂的多功能開發人員入口網站不僅內建應用程式註冊服務,也支援 API 金鑰的自動與手動核准程序,完全是開發人員心目中的理想工具。此外,開發人員還可快速且安全地存取探索、測試及運用 API 所需的工具與資訊

  • 推動 API 產品上市

    利用符合開發人員與合作夥伴需求的 API 產品,協助他們快速上手。透過 API Proxy 及其他設定等組合資源,提高附加價值、探索新商機,同時簡化學習流程。

  • 透過入口網站實現品牌體驗

    無論是部署在雲端或內部部署環境中的 Apigee API 管理平台,自訂開發人員入口網站都可提供獨一無二的品牌體驗。第二個實驗,TSP可以自已註冊一個帳戶,以自助方式存取安全的開發人員入口網站,是開發人員與貴公司能成功交流的關鍵。

Reference