本頁內容適用於 Apigee 和 Apigee Hybrid。
查看
Apigee Edge 說明文件。
將 API 發布至入口網站,供應用程式開發人員使用,詳情請參閱下列各節。
API 發布總覽
將 API 發布至入口網站的程序包含兩個步驟:
- 選取要發布至入口網站的 API 產品。
- 從 OpenAPI 文件或 GraphQL 結構定義算繪 API 參考說明文件,讓應用程式開發人員瞭解您的 API。(詳情請參閱「關於 API 說明文件」)
發布至入口網站的內容為何?
發布 API 時,入口網站會自動進行下列更新:
- API 參考文件。提供的介面取決於您是使用 OpenAPI 文件還是 GraphQL 結構定義發布 API。請參閱以下指南和最佳做法:
- API 頁面新增 API 參考資料頁面的連結
「API」頁面 (包含在 範例入口網站中) 會列出發布至入口網站的所有 API,並依字母順序排序,提供各 API 參考說明文件的連結,方便您查看詳細資訊。您也可以視需要自訂下列項目:
- 每個 API 資訊卡顯示的圖片
- 用於標記 API 的類別,方便開發人員在 API 頁面上探索相關 API
SmartDocs (OpenAPI)
使用 OpenAPI 文件發布 API 時,SmartDocs API 參考說明文件會新增至入口網站。
開發人員可以查看您的 SmartDocs API 參考說明文件,並使用「Try this API」(試用這個 API) 面板提出 API 要求及查看輸出內容。「Try this API」(試用這個 API) 可搭配不安全的端點,或使用基本、API 金鑰或 OAuth 驗證的安全端點,具體取決於 OpenAPI 文件中定義的安全方法。OAuth 支援下列流程: 授權碼、密碼和用戶端憑證。
按一下「全螢幕」curl
呼叫和程式碼範例,例如 HTTP、Python、Node.js 等,如下所示。
GraphQL 探索工具
使用 GraphQL 結構定義發布 API 時,GraphQL Explorer 會新增至入口網站。GraphQL Explorer 是互動式遊樂場,可針對 API 執行查詢。這個探索工具是以 GraphiQL 為基礎,這是由 GraphQL 基金會開發的 GraphQL IDE 參考實作。
開發人員可以使用 GraphQL 探索器探索以結構定義為基礎的互動式文件、建構及執行查詢、查看查詢結果,以及下載結構定義。如要確保 API 存取安全,開發人員可以在「Request Headers」(要求標頭) 窗格中傳遞授權標頭。如要進一步瞭解 GraphQL,請參閱 graphql.org。
API 說明文件簡介
在 API 的整個生命週期中,每個 OpenAPI 或 GraphQL 文件都是可靠來源。在 API 生命週期的每個階段 (從開發、發布到監控),您都會使用同一份文件。修改文件時,請務必留意變更對 API 在其他生命週期階段的影響,詳情請參閱「修改文件會發生什麼事?」一文。
將 API 發布至入口網站時,您會儲存 OpenAPI 或 GraphQL 文件的版本,以便產生 API 參考說明文件。如果您修改文件,可以決定更新發布至入口網站的 API 參考說明文件,以反映最新變更。
關於回呼網址
如果應用程式需要回呼網址,例如使用 OAuth 2.0 授權碼授權類型 (通常稱為三方 OAuth) 時,您可以要求開發人員註冊應用程式時指定回呼網址。回呼網址通常會指定應用程式的網址,該應用程式會代表用戶端應用程式接收授權碼。詳情請參閱「實作授權碼授予類型」。
在入口網站中新增 API 時,您可以設定是否要在應用程式註冊期間要求提供回呼網址。如要隨時修改這項設定,請參閱「管理 API 的回呼網址」。
註冊應用程式時,開發人員必須為所有需要回呼網址的 API 輸入回呼網址,詳情請參閱「註冊應用程式」。
設定 API Proxy,支援「試用這個 API」面板
使用 OpenAPI 文件發布 API 之前,您需要設定 API Proxy,支援在 SmartDocs API 參考說明文件的「試用這個 API」面板中提出要求,方法如下:
- 在 API Proxy 中新增 CORS 支援,強制執行用戶端跨來源要求。
CORS 是一種標準機制,可讓您在網頁中執行 JavaScript XMLHttpRequest (XHR) 呼叫,以便與非來源網域的資源進行互動。CORS 是常見的解決方案,可因應所有瀏覽器強制執行的 同源政策。 - 如果您使用基本驗證或 OAuth 2.0,請更新 API 代理設定。
下表根據驗證存取權,彙整了支援 SmartDocs API 參考說明文件「試用這個 API」面板的 API 代理設定需求。
驗證存取權 | 政策設定規定 |
---|---|
無或 API 金鑰 | 為 API Proxy 新增 CORS 支援,請按照「 為 API Proxy 新增 CORS 支援」一文所述步驟操作。 |
基本驗證 | 請按照下列步驟操作:
|
OAuth 2.0 |
|
管理 API
請按照下列各節所述管理 API。
探索 API
使用主控台或 curl
指令,即可查看入口網站中的 API。
如要查看 API 目錄,請按照下列步驟操作:
控制台
Cloud 控制台 UI
在 Apigee in Cloud 控制台中,前往「Distribution」>「Portals」頁面。
按一下入口網站。
按一下「API 目錄」。
按一下「API」分頁標籤。系統會顯示已新增至入口網站的 API 清單。
傳統版 UI
- 依序選取「發布」>「入口網站」,然後選取您的入口網站。
在入口網站首頁點選「API 目錄」。
或者,您也可以在頂端導覽選單的入口網站下拉式選單中,選取「API 目錄」。
API 目錄中的「API」分頁會顯示已新增至入口網站的 API 清單。
「API」分頁可讓您:
- 查看入口網站中可用 API 的詳細資料
- 在入口網站中新增 API
- 如要在入口網站中編輯 API,請執行下列一或多項工作:
- 從入口網站移除 API
- 管理類別
- 快速找出孤立的 API,這些 API 相關聯的 API 產品已從 Google Cloud 控制台中移除,並重新建立 API 產品或從入口網站刪除 API
curl
如要使用 organizations.sites.apidocs/list
列出 API,請按照下列步驟操作:
curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。
如要瞭解如何在回應酬載中使用分頁功能,請參閱分頁注意事項。
回應酬載:
{ "status": "success", "message": "one page of apidocs returned", "requestId": "1167960478", "data": [ { "siteId": "my-org-myportal", "title": "Hello New World", "description": "Simple hello new world example", "specId": "hellowworld", "modified": "1695841621000", "anonAllowed": true, "imageUrl": "/files/camper1.jpg?v=1695841491415", "id": "381054", "categoryIds": [ "e0518597-ece2-4d7d-ba7c-d1793df0f8db", "61c1014c-89c9-40e6-be3c-69cca3505620" ], "published": true, "apiProductName": "Hello New World" }, { "siteId": "my-org-myportal", "title": "mock-product", "description": "Mock product", "specId": "apigee spec", "modified": "1698956849000", "anonAllowed": true, "id": "399638", "categoryIds": [ "e0518597-ece2-4d7d-ba7c-d1793df0f8db" ], "published": true, "apiProductName": "mock-product" }, { "siteId": "my-org-myportal", "title": "Hello World 2", "description": "Simple hello world example", "specId": "hello-new-world", "modified": "1698950207000", "anonAllowed": true, "imageUrl": "/files/book-tree.jpg?v=1698165437881", "id": "399668", "categoryIds": [ "e0518597-ece2-4d7d-ba7c-d1793df0f8db", "61c1014c-89c9-40e6-be3c-69cca3505620" ], "published": true, "apiProductName": "Hello World 2" } ], "nextPageToken": "" }
其中:
-
modified:
目錄項目上次修改時間,以自 Epoch 紀元時間起的毫秒為單位。 例如:1698165480000
。 -
id:
目錄項目的 ID。例如:399668
。
分頁注意事項:
頁面大小: 使用
pageSize
指定要在單一頁面中傳回的清單項目數。 預設值為 25,最大值為 100。如有其他頁面,nextPageToken
會填入權杖:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
取代:
-
PAGE_SIZE,其中包含要在單一頁面中傳回的清單項目數。例如:
10
。
回應酬載:
{ "status": "success", "message": "one page of apidocs returned", "requestId": "918815495", "data": [ { "siteId": "my-org-myportal", "title": "Hello New World", "description": "Simple hello new world example", "specId": "apigee", "modified": "1699146887000", "anonAllowed": true, "imageUrl": "/files/camper1.jpg?v=1695841491415", "id": "381054", "categoryIds": [ "e0518597-ece2-4d7d-ba7c-d1793df0f8db", "61c1014c-89c9-40e6-be3c-69cca3505620" ], "published": true, "apiProductName": "Hello New World" } ], "nextPageToken": "7zcqrin9l6xhi4nbrb9" }
-
PAGE_SIZE,其中包含要在單一頁面中傳回的清單項目數。例如:
分頁符記:
如果有多個後續網頁,請使用
pageToken
擷取:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs?pageSize=PAGE_SIZE&pageToken=PAGE_TOKEN" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
取代:
-
PAGE_SIZE,其中包含要在單一頁面中傳回的清單項目數。例如:
10
。 -
PAGE_TOKEN,並傳遞
nextPageToken
值。例如:7zcqrin9l6xhi4nbrb9
。
-
PAGE_SIZE,其中包含要在單一頁面中傳回的清單項目數。例如:
新增 API
如要在入口網站中新增 API,請按照下列步驟操作:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁,請按一下該分頁。
新增 API。
Cloud 控制台 UI
- 按一下「+ API」。 系統會顯示「新增 API」對話方塊。
- 選取要新增至入口網站的 API 產品。
傳統版 UI
按一下「新增」
。「Add an API product to the catalog」(將 API 產品新增至目錄) 對話方塊隨即顯示。
選取要新增至入口網站的 API 產品。
點選「下一步」。系統會顯示「API 詳細資料」頁面。
在入口網站上設定 API 參考資料文件內容和顯示設定:
欄位 說明 已發布 選取「已發布」,將 API 發布至入口網站。 如果尚未準備好發布 API,請取消勾選核取方塊。 如要稍後變更設定,請參閱「發布或取消發布 API」一文。 顯示標題 更新目錄中顯示的 API 標題。根據預設,系統會使用 API 產品名稱。如要變更顯示標題,請參閱「編輯顯示標題和說明」。 顯示說明 更新目錄中顯示的 API 說明。系統預設會使用 API 產品說明。如要變更顯示說明,請參閱「編輯顯示名稱和說明」一節。 要求開發人員指定回呼網址 如要要求應用程式開發人員指定回呼網址,請啟用這項設定。您可以稍後新增或更新回呼網址,詳情請參閱「管理 API 的回呼網址」。 API 說明文件 如何使用 OpenAPI 文件:
Cloud 控制台 UI
- 選取「OpenAPI 文件」。
- 按一下「選取」。
- 執行下列其中一個步驟:
- 按一下「上傳」分頁標籤,然後上傳檔案。
- 按一下「網址」分頁標籤,然後提供名稱和匯入來源網址,匯入規格。
- 按一下「選取」。
傳統版 UI
- 選取「OpenAPI 文件」。
- 按一下「選取文件」。
- 執行下列其中一個步驟:
- 按一下「上傳檔案」分頁標籤,然後上傳檔案。
- 按一下「從網址匯入」分頁標籤,然後提供名稱和匯入來源網址,即可匯入規格。
- 按一下「選取」。
如何使用 GraphQL 結構定義:
Cloud 控制台 UI
- 選取「GraphQL Schema」(GraphQL 結構定義)。
- 按一下「選取」。
- 找出並選取 GraphQL 結構定義。
- 指定「端點網址」,也就是 API 消費者要查詢的 GraphQL 端點 URI。
- 按一下「選取」。
傳統版 UI
- 選取「GraphQL Schema」(GraphQL 結構定義)。
- 按一下「選取文件」。
- 找出並選取 GraphQL 結構定義。
- 按一下「開啟」。
- 指定「端點網址」,也就是 API 消費者要查詢的 GraphQL 端點 URI。
- 按一下 [儲存]。
或者,您可以選取「No documentation」,並在新增 API 後再加入說明文件,如「管理 API 說明文件」一文所述。
顯示設定 如果尚未註冊使用目標對象管理功能的預先發布版,請選取下列其中一個選項:
- 匿名使用者,允許所有使用者查看 API。
- 已註冊的使用者:只允許已註冊的使用者查看 API。
如果您已註冊使用預先發布版的目標對象管理功能,請選取下列其中一個選項:
- 公開 (所有人都能看見),允許所有使用者查看 API。
- 通過驗證的使用者:只允許已註冊的使用者查看 API。
- 選取的目標對象:選取可查看 API 的特定目標對象。
如要管理目標對象的顯示設定,請參閱「 管理 API 的顯示設定」。
顯示圖片 如要在「API」頁面的 API 資訊卡上顯示圖片,請按一下「選取圖片」。在「選取圖片」對話方塊中,選取現有圖片、上傳新圖片或提供外部圖片的網址,然後按一下「選取」。預覽 API 縮圖,然後按一下「選取」。如要稍後新增圖片,請參閱「管理 API 資訊卡的圖片」。指定外部圖片的網址時,圖片不會上傳至資產;此外,整合式入口網站中圖片的載入作業會受到圖片可用性的影響,可能遭到 內容安全政策封鎖或限制。 類別 新增 API 的標記類別,讓應用程式開發人員在「API」頁面上探索相關 API。如要識別類別:
- 從下拉式選單中選取類別。
- 如「 新增類別」一節所述,新增類別。新類別會新增至「類別」頁面,並在新增或編輯其他 API 時提供使用。
按一下 [儲存]。
curl
如要使用 organizations.sites.apidocs.create
將 API 新增至入口網站,請按照下列步驟操作:
curl -X POST "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "title": "TITLE", "description": "DESCRIPTION", "anonAllowed": ANON_TRUE_OR_FALSE, "imageUrl": "IMAGE_URL", "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE, "categoryIds": [ "CATEGORY_ID1", "CATEGORY_ID2" ], "published": PUBLISHED_TRUE_OR_FALSE, "apiProductName": "API_PRODUCT", }'
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
TITLE 替換為顯示標題。例如:
Hello World 2
。 -
DESCRIPTION,並顯示說明。例如:
Simple hello world example
。 -
ANON_TRUE_OR_FALSE (預設) 搭配
true
或false
,其中true
可讓匿名使用者存取。如果您已註冊使用目標對象管理功能的預先發布版,系統會忽略這項設定。 -
IMAGE_URL,並提供目錄項目使用的外部圖片網址,或是
入口網站中儲存的圖片檔案路徑,例如
/files/book-tree.jpg
。 指定外部圖片的網址時,圖片不會上傳至資產;此外,整合式入口網站中的圖片載入作業會受到圖片可用性的影響,可能遭到 內容安全政策封鎖或限制。 -
CALLBACK_TRUE_OR_FALSE (預設) 或
true
,其中true
要求入口網站使用者在管理應用程式時輸入網址。false
將 CATEGORY_ID 替換為類別的 ID。例如:
bf6505eb-2a0f-47af-a00a-ded40ac72960
。如有多個類別 ID,請以半形逗號分隔。使用「列出 API 類別」指令取得類別 ID。PUBLISHED_TRUE_OR_FALSE (預設) 搭配
true
或false
,其中true
表示 API 可公開使用。API_PRODUCT 替換為 API 產品的名稱。例如:
Hello World 2
。
回應酬載:
{ "status": "success", "message": "API created", "requestId": "1662161889", "data": { "siteId": "my-org-myportal", "title": "Hello World 2", "description": "Simple hello world example", "modified": "1698948807000", "anonAllowed": true, "imageUrl": "/files/book-tree.jpg", "id": "409405", "requireCallbackUrl": true, "categoryIds": [ "88fbfd1d-9300-49f7-bfc2-531ade4c63d4", "630c4cf9-109a-48b0-98cc-ef4c12ae4474" ], "published": true, "apiProductName": "Hello World 2" } }
其中:
-
modified:
目錄項目上次修改時間,以自 Epoch 紀元時間起的毫秒為單位。 例如:1698165480000
。 -
id:
目錄項目的 ID。例如:399668
。
編輯 API
新增 API 後,即可使用控制台或 API 呼叫進行編輯。
本節提供詳細範例,說明如何在入口網站中修改現有 API。
如需特定修改設定,請參閱後續章節。
控制台
curl
新增 API 後,請使用
organizations.sites.apidocs.update
呼叫進行編輯。
本範例會逐步說明如何將入口網站中 API 的發布狀態從 true
變更為 false
。如有需要,您可以在一次 API 呼叫中變更多項設定。
使用
organizations.sites.apidocs/list
取得入口網站中的 API 清單,找出可唯一識別每個 API 的id
:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。
回應酬載:
{ "status": "success", "message": "one page of apidocs returned", "requestId": "1167960478", "data": [ { "siteId": "my-org-myportal", "title": "Hello New World", "description": "Simple hello new world example", "specId": "hellowworld", "modified": "1695841621000", "anonAllowed": true, "imageUrl": "/files/camper1.jpg?v=1695841491415", "id": "381054", "categoryIds": [ "e0518597-ece2-4d7d-ba7c-d1793df0f8db", "61c1014c-89c9-40e6-be3c-69cca3505620" ], "published": true, "apiProductName": "Hello New World" }, { "siteId": "my-org-myportal", "title": "mock-product", "description": "Mock product", "specId": "apigee spec", "modified": "1698956849000", "anonAllowed": true, "id": "399638", "categoryIds": [ "e0518597-ece2-4d7d-ba7c-d1793df0f8db" ], "published": true, "apiProductName": "mock-product" }, { "siteId": "my-org-myportal", "title": "Hello World 2", "description": "Simple hello world example", "specId": "hello-new-world", "modified": "1698950207000", "anonAllowed": true, "imageUrl": "/files/book-tree.jpg?v=1698165437881", "id": "399668", "categoryIds": [ "e0518597-ece2-4d7d-ba7c-d1793df0f8db", "61c1014c-89c9-40e6-be3c-69cca3505620" ], "published": true, "apiProductName": "Hello World 2" } ] }
其中:
-
modified:
目錄項目上次修改時間,以自 Epoch 紀元時間起的毫秒為單位。 例如:1698165480000
。 -
id:
目錄項目的 ID。例如:399668
。
-
將 ORG_NAME 替換為機構名稱。例如:
使用
organizations.sites.apidocs.get
呼叫,傳回特定 API 的目前值:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
API_DOC,並生成文件
id
。例如:399668
。使用 list API docs 指令找出這個值。
回應酬載:
{ "status": "success", "message": "apidoc returned", "requestId": "2072952505", "data": { "siteId": "my-org-myportal", "title": "Hello World 2", "description": "Simple hello world example", "specId": "hello-new-world", "modified": "1698950207000", "anonAllowed": true, "imageUrl": "/files/book-tree.jpg?v=1698165437881", "id": "399668", "categoryIds": [ "e0518597-ece2-4d7d-ba7c-d1793df0f8db", "61c1014c-89c9-40e6-be3c-69cca3505620" ], "published": true, "apiProductName": "Hello World 2" } }
-
將 ORG_NAME 替換為機構名稱。例如:
在
organizations.sites.apidocs.update
呼叫中加入要保留的可變動值,並修改要變更的值。如果省略一行,系統會使用預設設定。在本範例中,請將published
設定從true
變更為false
:curl -X PUT "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "title": "TITLE", "description": "DESCRIPTION", "anonAllowed": ANON_TRUE_OR_FALSE, "imageUrl": "IMAGE_URL", "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE, "categoryIds": [ "CATEGORY_ID1", "CATEGORY_ID2" ], "published": false, "apiProductName": "API_PRODUCT", }'
更改下列內容:
-
TITLE 替換為顯示標題。例如:
Hello World 2
。 -
DESCRIPTION,並顯示說明。例如:
Simple hello world example
。 -
ANON_TRUE_OR_FALSE (預設) 搭配
true
或false
,其中true
可讓匿名使用者存取。如果您已註冊使用目標對象管理功能的預先發布版,系統會忽略這項設定。 -
IMAGE_URL,並提供目錄項目使用的外部圖片網址,或是
入口網站中儲存的圖片檔案路徑,例如
/files/book-tree.jpg
。 指定外部圖片的網址時,圖片不會上傳至資產;此外,整合式入口網站中的圖片載入作業會受到圖片可用性的影響,可能遭到 內容安全政策封鎖或限制。 -
CALLBACK_TRUE_OR_FALSE (預設) 或
true
,其中true
要求入口網站使用者在管理應用程式時輸入網址。false
-
將 CATEGORY_ID 替換為類別的 ID。例如:
bf6505eb-2a0f-47af-a00a-ded40ac72960
。如有多個類別 ID,請以半形逗號分隔。使用「列出 API 類別」指令取得類別 ID。 -
API_PRODUCT 替換為 API 產品的名稱。例如:
Hello World 2
。
回應酬載:
{ "status": "success", "message": "ApiDoc updated", "requestId": "197181831", "data": { "siteId": "my-org-myportal", "title": "Hello World 2", "description": "Simple hello world example.", "modified": "1698884328000", "anonAllowed": true, "imageUrl": "/files/book-tree.jpg", "id": "408567", "requireCallbackUrl": true, "categoryIds": [ "88fbfd1d-9300-49f7-bfc2-531ade4c63d4", "630c4cf9-109a-48b0-98cc-ef4c12ae4474" ], "published": PUBLISHED_TRUE_OR_FALSE, "apiProductName": "Hello World 2" } }
-
TITLE 替換為顯示標題。例如:
發布或取消發布 API
發布是指將 API 提供給應用程式開發人員使用的過程。
如要在入口網站中發布或取消發布 API,請按照下列步驟操作:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁,請按一下該分頁。
- 按一下要編輯的 API 所在列。
- 按一下「Edit」(編輯) 。
- 選取或取消選取「已發布 (列於目錄)」,即可在入口網站中發布或取消發布 API。
- 按一下 [儲存]。
curl
在 update
呼叫中加入下列其中一項:
"published": true, # API is published to your portal "published": false, # API is not published in your portal
如要編輯 API,請按照下列步驟操作:
使用
organizations.sites.apidocs.get
呼叫傳回目前的值:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
使用
organizations.sites.apidocs.update
呼叫編輯 API。納入要保留的可變更值,並修改要變更的值。如果省略可變動設定,系統會使用預設值。curl -X PUT "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "title": "TITLE", "description": "DESCRIPTION", "anonAllowed": ANON_TRUE_OR_FALSE, "imageUrl": IMAGE_URL, "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE, "categoryIds": [ "CATEGORY_ID1", "CATEGORY_ID2" ], "published": PUBLISHED_TRUE_OR_FALSE, "apiProductName": "API_PRODUCT", }'
如需步驟、變數和傳回酬載的詳細範例,請參閱「編輯 API」。
管理 API 的瀏覽權限
管理入口網站中 API 的瀏覽權限,方法是允許存取:
如要在入口網站中管理 API 的顯示設定:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁,請按一下該分頁。
- 按一下要編輯的 API 所在列。
- 按一下「Edit」(編輯) 。
選取瀏覽權限設定。 如果您已註冊目標對象功能預先發布版本,請在「API 顯示設定」下方選取下列任一選項:
- 公開 (所有人都能查看),允許所有使用者查看頁面。
- 通過驗證的使用者:只允許已註冊的使用者查看網頁。
- 選取目標對象,選取可查看該頁面的特定目標對象。請參閱 管理入口網站的目標對象。
否則,請在「目標對象」下方選取下列其中一個選項:
- 匿名使用者,允許所有使用者查看網頁。
- 已註冊的使用者,只允許已註冊的使用者查看網頁。
按一下 [儲存]。
curl
如果您已 註冊使用目標對象管理功能的預先發布版,請使用控制台管理目標對象。
如果您尚未註冊使用目標對象管理功能,系統會使用 anonAllowed
管理曝光率。
在 update
呼叫中加入下列其中一項:
# When not enrolled in the Preview release of the audience management feature: "anonAllowed": true, # Anonymous users can see the API "anonAllowed": false, # Only registered users can see the API
如要編輯 API,請按照下列步驟操作:
使用
organizations.sites.apidocs.get
呼叫傳回目前的值:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
使用
organizations.sites.apidocs.update
呼叫編輯 API。納入要保留的可變更值,並修改要變更的值。如果省略可變動設定,系統會使用預設值。curl -X PUT "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "title": "TITLE", "description": "DESCRIPTION", "anonAllowed": ANON_TRUE_OR_FALSE, "imageUrl": IMAGE_URL, "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE, "categoryIds": [ "CATEGORY_ID1", "CATEGORY_ID2" ], "published": PUBLISHED_TRUE_OR_FALSE, "apiProductName": "API_PRODUCT", }'
如需步驟、變數和傳回酬載的詳細範例,請參閱「編輯 API」。
管理 API 的回呼網址
管理 API 的回呼網址。請參閱「關於回呼網址」。
如要管理 API 的回呼網址,請按照下列步驟操作:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁,請按一下該分頁。
- 按一下要編輯的 API 所在列。
- 按一下「Edit」(編輯) 。
- 選取或取消選取「要求開發人員指定回呼網址」,分別指定是否需要回呼網址。
- 按一下 [儲存]。
curl
在 update
呼叫中加入下列其中一項:
"requireCallbackUrl": true, # Portal user is required to input a URL "requireCallbackUrl": false, # Portal user is not required to input a URL
如要編輯 API,請按照下列步驟操作:
使用
organizations.sites.apidocs.get
呼叫傳回目前的值:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
使用
organizations.sites.apidocs.update
呼叫編輯 API。納入要保留的可變更值,並修改要變更的值。如果省略可變動設定,系統會使用預設值。curl -X PUT "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "title": "TITLE", "description": "DESCRIPTION", "anonAllowed": ANON_TRUE_OR_FALSE, "imageUrl": IMAGE_URL, "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE, "categoryIds": [ "CATEGORY_ID1", "CATEGORY_ID2" ], "published": PUBLISHED_TRUE_OR_FALSE, "apiProductName": "API_PRODUCT", }'
如需步驟、變數和傳回酬載的詳細範例,請參閱「編輯 API」。
管理 API 資訊卡的圖片
在 API 頁面上新增或變更目前圖片,即可管理 API 資訊卡顯示的圖片。
如要管理 API 資訊卡的圖片,請按照下列步驟操作:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁,請按一下該分頁。
- 按一下要編輯的 API 所在列。
- 按一下「Edit」(編輯) 。
找出並選取圖片:
Cloud 控制台 UI
- 按一下「選取」指定圖片。
- 按一下「x」x即可移除圖片。
傳統版 UI
- 如果未選取任何圖片,請按一下「選取圖片」指定圖片。
- 按一下「變更圖片」,指定其他圖片。
- 按一下圖片中的「x」x即可移除圖片。
指定圖片時,請指定用於目錄項目的外部網址圖片,或是 入口網站中儲存的圖片檔案路徑,例如
/files/book-tree.jpg
。指定外部圖片的網址時,圖片不會上傳至資產;此外,整合式入口網站中圖片的載入作業會受到圖片可用性的影響,可能遭到 內容安全政策封鎖或限制。按一下 [儲存]。
curl
在
update
呼叫中加入下列項目:
# Omit line for no image file "imageUrl": "IMAGE_URL" # URL of the external image or name of the image file
如要編輯 API,請按照下列步驟操作:
使用
organizations.sites.apidocs.get
呼叫傳回目前的值:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
使用
organizations.sites.apidocs.update
呼叫編輯 API。納入要保留的可變更值,並修改要變更的值。如果省略可變動設定,系統會使用預設值。curl -X PUT "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "title": "TITLE", "description": "DESCRIPTION", "anonAllowed": ANON_TRUE_OR_FALSE, "imageUrl": IMAGE_URL, "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE, "categoryIds": [ "CATEGORY_ID1", "CATEGORY_ID2" ], "published": PUBLISHED_TRUE_OR_FALSE, "apiProductName": "API_PRODUCT", }'
如需步驟、變數和傳回酬載的詳細範例,請參閱「編輯 API」。
使用類別為 API 加上標記
應用程式開發人員可透過類別探索相關 API。另請參閱「管理類別」。
如要為 API 加上類別標記,請按照下列步驟操作:
控制台
curl
在
update
呼叫中加入下列項目:
# Omit line for no categories "categoryIds": [ "CATEGORY_ID1", # A category ID number "CATEGORY_ID2" # A category ID number ],
使用「list categories」指令取得類別 ID 號碼。
如要編輯 API,請按照下列步驟操作:
使用
organizations.sites.apidocs.get
呼叫傳回目前的值:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
使用
organizations.sites.apidocs.update
呼叫編輯 API。納入要保留的可變更值,並修改要變更的值。如果省略可變動設定,系統會使用預設值。curl -X PUT "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "title": "TITLE", "description": "DESCRIPTION", "anonAllowed": ANON_TRUE_OR_FALSE, "imageUrl": IMAGE_URL, "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE, "categoryIds": [ "CATEGORY_ID1", "CATEGORY_ID2" ], "published": PUBLISHED_TRUE_OR_FALSE, "apiProductName": "API_PRODUCT", }'
如需步驟、變數和傳回酬載的詳細範例,請參閱「編輯 API」。
編輯顯示名稱和說明
如要編輯顯示名稱和說明,請按照下列步驟操作:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁,請按一下該分頁。
- 按一下要編輯的 API 所在列。
- 按一下「Edit」(編輯) 。
- 視需要編輯「顯示名稱」和「顯示說明」欄位。
- 按一下 [儲存]。
curl
在
update
呼叫中加入下列項目:
"title": "TITLE", # Display title "description": "DESCRIPTION", # Display description
如要編輯 API,請按照下列步驟操作:
使用
organizations.sites.apidocs.get
呼叫傳回目前的值:curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
使用
organizations.sites.apidocs.update
呼叫編輯 API。納入要保留的可變更值,並修改要變更的值。如果省略可變動設定,系統會使用預設值。curl -X PUT "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{ "title": "TITLE", "description": "DESCRIPTION", "anonAllowed": ANON_TRUE_OR_FALSE, "imageUrl": IMAGE_URL, "requireCallbackUrl": CALLBACK_TRUE_OR_FALSE, "categoryIds": [ "CATEGORY_ID1", "CATEGORY_ID2" ], "published": PUBLISHED_TRUE_OR_FALSE, "apiProductName": "API_PRODUCT", }'
如需步驟、變數和傳回酬載的詳細範例,請參閱「編輯 API」。
移除 API
如要從入口網站移除 API,請按照下列步驟操作:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁標籤,請予以選取。
刪除 API。
Cloud 控制台 UI
依序按一下「更多」
>「刪除」 。傳統版 UI
- 將游標移至清單中的 API,即可顯示動作選單。
- 按一下「刪除」圖示 。
按一下「刪除」加以確認。
curl
如要使用 organizations.sites.apidocs.delete
從入口網站移除 API,請執行下列操作:
curl -X DELETE "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
API_DOC,並生成文件
id
。例如:399668
。使用 list API docs 指令找出這個值。
回應酬載:
{ "status":"success", "message":"Apidoc deleted", "requestId":"645138256" }
管理 API 說明文件
下列各節說明如何更新、下載或移除 API 說明文件。
更新 API 說明文件
發布 API 後,您可以隨時上傳新版 OpenAPI 或 GraphQL 文件。
如要上傳不同版本的 API 說明文件,請按照下列步驟操作:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁,請按一下該分頁。
- 按一下要編輯的 API 所在列。
- 按一下「Edit」(編輯) 。
- 如要查看 API 說明文件,請選取下列其中一個選項:
- OpenAPI 文件
- GraphQL 結構定義
找出檔案。
Cloud 控制台 UI
- 按一下「選取」。
- 瀏覽並選取檔案。
傳統版 UI
- 按一下「選取文件」,然後選取最新版文件。
如果是 GraphQL,請指定「端點網址」。
按一下「選取」。
按一下 [儲存]。
curl
如要使用 organizations.sites.apidocs.updateDocumentation
更新 OpenAPI 或 GraphQL 說明文件內容,請按照下列步驟操作:
OpenAPI
curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"oasDocumentation": { "spec":{ "displayName":"DISPLAY_NAME", "contents":"CONTENTS"} } }'
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
API_DOC,並生成文件
id
。例如:399668
。使用 list API docs 指令找出這個值。 -
DISPLAY_NAME 為 API 說明文件的顯示名稱。例如:
Hello World 2
。 - CONTENTS,並使用 API 說明文件中的內容 Base64 編碼字串。大多數開發環境都包含 base64 轉換公用程式,或提供許多線上轉換工具。
回應酬載:
{ "status":"success", "message":"Api documentation updated", "requestId":"645138278" "data": { "oasDocumentation": { "spec": { "displayName": "Hello World 2" }, "Format": "YAML" } } }
GraphQL
curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"graphqlDocumentation": { "schema":{"displayName":"DISPLAY_NAME", "contents":"CONTENTS"}, "endpointUri": "ENDPOINT_URI" } }'
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
API_DOC,並生成文件
id
。例如:399668
。使用 list API docs 指令找出這個值。 -
DISPLAY_NAME 為 API 說明文件的顯示名稱。例如:
Hello World 2
。 -
ENDPOINT_URI 替換為端點 URI 的網域名稱。例如:
https://demo.google.com/graphql
。 - CONTENTS,並使用 API 說明文件中的內容 Base64 編碼字串。大多數開發環境都包含 base64 轉換公用程式,或提供許多線上轉換工具。
回應酬載:
{ "status":"success", "message":"Api documentation updated", "requestId":"645138278" "data": { "graphqlDocumentation": { "schema": { "displayName": "Hello World 2" }, "endpointUri": "https://demo.google.com/graphql" } } }
系統會從文件轉譯 API 參考說明文件,並新增至正式版入口網站的「API」頁面。
下載 API 說明文件
發布 API 後,您可以隨時下載入口網站上發布的 OpenAPI 或 GraphQL 參考說明文件。
如要使用 organizations.sites.apidocs.getDocumentation
下載 API 說明文件,請按照下列步驟操作:
curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 API_DOC,並生成文件
id
。例如:399668
。使用 list API docs 指令找出這個值。回應酬載:
{ "status":"success", "message":"Api documentation downloaded", "requestId":"645138256", "data": { "oasDocumentation":{ "spec":{ "displayName":"Hello World 2", "contents":"c3dhZ2dlcjogJzIuMCcKaW5mbzoKICBkZXNlI ..." }, "Format": YAML } } }
其中:
contents:
API 說明文件內容的 Base64 編碼字串。
移除 API 說明文件
如要移除 API 說明文件,請按照下列步驟操作:
控制台
- 存取 API 目錄。
- 如果尚未選取「API」分頁,請按一下該分頁。
- 按一下要編輯的 API 所在列。
- 按一下「Edit」(編輯) 。
- 如要API 說明文件,請選取「沒有說明文件」。
- 按一下 [儲存]。
curl
如要使用 API 移除 API 文件內容,請傳送空白要求主體,清除現有設定。
如要傳送空白要求主體並使用 organizations.sites.apidocs.updateDocumentation
清除現有內容,請執行下列操作:
curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apidocs/API_DOC/documentation" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{}'
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
API_DOC,並生成文件
id
。例如:399668
。使用 list API docs 指令找出這個值。
回應酬載:
{ "status":"success", "message":"Api documentation updated", "requestId":"645138279" }
管理類別
使用類別標記 API,讓應用程式開發人員在正式版入口網站的 API 頁面上,探索相關 API。新增及管理類別,詳情請參閱下列章節。
探索類別
使用控制台或 curl
指令查看類別。
控制台
curl
如要使用 organizations.sites.apicategories.list
列出類別,請按照下列步驟操作:
curl -X GET "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \ -H "Authorization: Bearer $(gcloud auth print-access-token)"
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。
回應酬載:
{ "data": [ { "siteId": "my-org-myportal", "name": "Get Started", "id": "e0518597-ece2-4d7d-ba7c-d1793df0f8db" }, { "siteId": "my-org-myportal", "name": "Test", "id": "61c1014c-89c9-40e6-be3c-69cca3505620" } ], "status": "success", "message": "all ApiCategory items returned", "requestId": "602661435" }
其中:
-
id:
類別項目的 ID。例如:61c1014c-89c9-40e6-be3c-69cca3505620
。
新增類別
如何新增類別:
控制台
- 存取「類別」頁面。
新增類別。
Cloud 控制台 UI
- 按一下「+ 類別」。
- 輸入新類別的名稱。
- (選用) 選取一或多個要標記至類別的 API。
- 按一下「新增」。
傳統版 UI
- 按一下「新增」 。
- 輸入新類別的名稱。
- (選用) 選取一或多個要標記至類別的 API。
- 點選「建立」。
curl
如要使用 organizations.sites.apicategories.create
新增類別,請按照下列步驟操作:
curl -X POST "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"name": "CATEGORY_NAME" }'
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
CATEGORY_NAME 替換為類別名稱。例如:
demo-backend
。
回應酬載:
{ "data": { "siteId": "my-org-myportal", "name": "demo-backend", "id": "ed0b6c1d-eb49-419f-8475-9a428ed5b8d1" }, "status": "success", "message": "API category created", "requestId": "295617049" }
編輯類別
如要編輯類別,請按照下列步驟操作:
控制台
curl
如要使用 organizations.sites.apicategories.patch
編輯類別,請按照下列步驟操作:
curl -X PATCH "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"name": "CATEGORY_NAME" }'
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
將 CATEGORY_ID 替換為類別的 ID。例如:
bf6505eb-2a0f-47af-a00a-ded40ac72960
。使用「列出 API 類別」指令取得類別 ID。 -
CATEGORY_NAME 替換為類別名稱。例如:
demo-backend
。
回應酬載:
{ "data": { "siteId": "my-org-myportal", "name": "demo-backend-test", "id": "ed0b6c1d-eb49-419f-8475-9a428ed5b8d1" }, "status": "success", "message": "ApiCategory updated", "requestId": "192211979" }
刪除類別
刪除類別時,系統也會一併刪除該類別的所有 API 標記。
如要刪除類別,請按照下列步驟操作:
控制台
- 存取「類別」頁面。
刪除類別。
Cloud 控制台 UI
在要編輯的類別資料列中,依序按一下「更多」
>「刪除」 。傳統版 UI
- 將游標移到要刪除的類別上,顯示動作選單。
- 按一下「刪除」圖示 。
按一下「刪除」加以確認。
curl
如要使用 organizations.sites.apicategories.delete
刪除類別,請按照下列步驟操作:
curl -X DELETE "https://apigee.googleapis.com/v1/organizations/ORG_NAME/sites/SITE_ID/apicategories/CATEGORY_ID" \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json"
更改下列內容:
-
將 ORG_NAME 替換為機構名稱。例如:
my-org
。 -
SITE_ID,其中 ORG_NAME 是機構名稱,PORTAL_NAME 則是入口網站名稱,並已轉換為全小寫,且移除了空格和破折號。ORG_NAME-PORTAL_NAME例如:
my-org-myportal
。 -
將 CATEGORY_ID 替換為類別的 ID。例如:
bf6505eb-2a0f-47af-a00a-ded40ac72960
。使用「列出 API 類別」指令取得類別 ID。
回應酬載:
{ "status": "success", "message": "ApiCategory deleted", "requestId": "1610396471" }
排解已發布 API 的問題
以下各節提供相關資訊,協助您排解已發布 API 的特定錯誤。
錯誤:使用「試試這個 API」時,系統傳回「擷取失敗」錯誤
使用「試用這個 API」時,如果系統傳回 TypeError: Failed to fetch
錯誤,請考慮下列可能原因和解決方法:
如果是混合內容錯誤,可能是因為已知的 swagger-ui 問題所致。其中一個可能的解決方法是,確保您在 OpenAPI 文件的
schemes
定義中,先指定 HTTPS,再指定 HTTP。例如:schemes: - https - http
如為跨源資源共享 (CORS) 限制錯誤,請確認 API Proxy 支援 CORS。CORS 是一種標準機制,可讓用戶端發出跨源要求。請參閱「設定 API Proxy 以支援『試用這個 API』面板」。
錯誤:不允許使用要求標頭欄位
使用「試用這個 API」時,如果收到類似下列範例的 Request header field not allowed
錯誤,可能需要更新 CORS 政策支援的標頭。例如:
field content-type is not allowed by Access-Control-Allow-Headers in preflight
response
在本範例中,您需要在 CORS AssignMessage 政策的 Access-Control-Allow-Headers
區段中新增 content-type
標頭,如「將新增 CORS 政策附加至新的 API Proxy」一文所述。
錯誤:使用 OAuth 2.0 呼叫 API Proxy 時存取遭拒
Google Cloud 控制台的 OAuthV2 政策會傳回權杖回應,其中包含某些不符合 RFC 的屬性。舉例來說,這項政策會傳回值為 BearerToken
的權杖,而非符合 RFC 規範的預期值 Bearer
。使用「試用這個 API」時,這類無效的 token_type
回應可能會導致 Access denied
錯誤。
如要修正這個問題,您可以建立 JavaScript 或 AssignMessage 政策,將政策輸出內容轉換為符合規範的格式。詳情請參閱「不符合 RFC 的行為」。