本頁適用於 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 要求,查看輸出內容。Try this API 可搭配使用基本、API 金鑰或 OAuth 驗證的未加密端點或加密端點,這取決於 OpenAPI 文件中定義的安全性方法。OAuth 支援以下流程:授權碼、密碼和用戶端憑證。
按一下 curl
呼叫和程式碼範例,例如 HTTP、Python、Node.js 等,如以下所示。
GraphQL Explorer
使用 GraphQL 結構定義發布 API 時,GraphQL Explorer 會加入入口網站。GraphQL Explorer 是互動式 Playground,可針對 API 執行查詢。探索器是以 GraphiQL 為基礎,這是 GraphQL Foundation 開發的 GraphQL IDE 參考實作項目。
開發人員可以使用 GraphQL Explorer 探索以結構定義為基礎的互動式說明文件、建立及執行查詢、查看查詢結果,以及下載結構定義。如要安全地存取 API,開發人員可以在「Request Headers」窗格中傳遞授權標頭。如要進一步瞭解 GraphQL,請造訪 graphql.org。
API 說明文件簡介
每份 OpenAPI 或 GraphQL 文件都是 API 整個生命週期中的可靠來源。在 API 生命週期的每個階段 (從開發到發布再到監控),都會使用相同的文件。修改文件時,您必須瞭解變更對 API 在其他生命週期階段的影響,如「如果我修改文件會發生什麼情況?」一文所述。
將 API 發布至入口網站時,您會儲存 OpenAPI 或 GraphQL 文件的版本,以顯示 API 參考說明文件。如果您修改文件,可以選擇更新發布至入口網站的 API 參考說明文件,以反映最新變更。
關於回呼網址
如果您的應用程式需要回呼網址 (例如使用 OAuth 2.0 授權碼核發類型時,通常稱為「三方 OAuth」),您可以要求開發人員在註冊應用程式時指定回呼網址。回呼網址通常會指定應用程式的網址,以便代表用戶端應用程式接收授權碼。詳情請參閱「實作授權碼授權類型」。
在入口網站中新增 API時,您可以設定是否要在應用程式註冊期間要求回呼網址。您隨時可以修改這項設定,如管理 API 的回呼網址所述。
註冊應用程式時,開發人員必須為所有需要回呼網址的 API 輸入回呼網址,如「註冊應用程式」一文所述。
設定 API Proxy 以支援「Try this API」面板
在使用 OpenAPI 文件發布 API 之前,您必須設定 API Proxy,以便在 SmartDocs API 參考說明文件的「Try this API」面板中提出要求,如下所示:
- 在 API 代理程式中新增 CORS 支援,以便強制執行用戶端跨來源要求。
CORS 是一種標準機制,可讓您在網頁中執行 JavaScript XMLHttpRequest (XHR) 呼叫,以便與非來源網域的資源互動。針對所有瀏覽器強制執行的 同源政策,CORS 是常見的實作解決方案。 - 如果您使用基本驗證或 OAuth 2.0,請更新 API 代理程式設定。
下表列出 API 代理設定需求,以便根據驗證存取權,支援 SmartDocs API 參考說明文件中的「Try this 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
- 管理類別
- 快速找出已從 Google Cloud 控制台移除相關 API 產品的孤立 API,並重新建立 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」。系統會顯示「Add an API」對話方塊。
- 選取要新增至入口網站的 API 產品。
傳統版 UI
按一下
「新增」。系統會顯示「Add an API product to the catalog」對話方塊。
選取要新增至入口網站的 API 產品。
點選「下一步」。系統會顯示「API 詳細資料」頁面。
設定 API 參考資料文件內容和在入口網站上的顯示方式:
欄位 說明 已發布 選取「已發布」,即可將 API 發布至入口網站。 如果您尚未準備好發布 API,請取消勾選核取方塊。 您稍後可以變更設定,詳情請參閱「發布或取消發布 API」。 顯示標題 更新目錄中顯示的 API 標題。根據預設,系統會使用 API 產品名稱。您可以稍後變更顯示標題,如編輯顯示標題和說明所述。 顯示說明 更新目錄中顯示的 API 說明。根據預設,系統會使用 API 產品說明。您可以稍後變更顯示說明,如編輯顯示標題和說明所述。 要求開發人員指定回呼網址 如要要求應用程式開發人員指定回呼網址,請啟用這項設定。您可以稍後新增或更新回呼網址,如管理 API 的回呼網址一節所述。 API 說明文件 如何使用 OpenAPI 文件:
Cloud 控制台 UI
- 選取「OpenAPI 文件」。
- 按一下 [選取]。
- 請執行下列任一步驟:
- 點選「上傳」分頁標籤,然後上傳檔案。
- 按一下「網址」分頁標籤,然後提供名稱和網址,即可匯入規格。
- 按一下 [選取]。
傳統版 UI
- 選取「OpenAPI 文件」。
- 按一下「選取文件」。
- 請執行下列任一步驟:
- 按一下「上傳檔案」分頁標籤,然後上傳檔案。
- 按一下「從網址匯入」分頁標籤,然後提供名稱和匯入的網址,即可匯入規格。
- 按一下 [選取]。
如何使用 GraphQL 結構定義:
Cloud 控制台 UI
- 選取「GraphQL 結構定義」。
- 按一下 [選取]。
- 前往並選取 GraphQL 結構定義。
- 指定「端點網址」,也就是 API 使用者要查詢的 GraphQL 端點 URI。
- 按一下 [選取]。
傳統版 UI
- 選取「GraphQL 結構定義」。
- 按一下「選取文件」。
- 前往並選取 GraphQL 結構定義。
- 按一下「開啟」。
- 指定「端點網址」,也就是 API 使用者要查詢的 GraphQL 端點 URI。
- 按一下 [儲存]。
或者,您也可以選取「沒有說明文件」,並在稍後新增 API 後再新增說明文件,如管理 API 說明文件所述。
顯示設定 如果您尚未 註冊目標對象管理功能的預先發布版,請選取下列任一選項:
- 匿名使用者:允許所有使用者查看 API。
- 已註冊的使用者,僅允許已註冊的使用者查看 API。
如果您 已註冊目標對象管理功能的預先發布版,請選取下列其中一個選項:
- 公開 (所有人都能看見),讓所有使用者都能查看 API。
- 已驗證的使用者,僅允許已註冊的使用者查看 API。
- 所選目標對象:選取您要讓哪些特定目標對象查看 API。
您之後可以管理目標對象的曝光情形,如「 管理 API 的曝光情形」一文所述。
顯示圖片 如要在 API 頁面的 API 資訊卡上顯示圖片,請按一下「Select image」。在「Select image」對話方塊中,選取現有圖片、上傳新圖片,或提供外部圖片的網址,然後按一下「Select」。預覽 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
或false
(預設),其中true
需要入口網站使用者在管理應用程式時輸入網址。 CATEGORY_ID 與類別 ID 例如:
bf6505eb-2a0f-47af-a00a-ded40ac72960
。如有多個類別 ID,請以半形逗號分隔。使用 list API categories 指令取得類別 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
或false
(預設),其中true
需要入口網站使用者在管理應用程式時輸入網址。 -
CATEGORY_ID 與類別 ID 例如:
bf6505eb-2a0f-47af-a00a-ded40ac72960
。如有多個類別 ID,請以半形逗號分隔。使用 list API categories 指令取得類別 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
指令查看類別。
控制台
前往「Portals」頁面。
Cloud 控制台 UI
在 Apigee in Cloud 控制台中,依序前往「Distribution」>「Portals」頁面。
按一下入口網站。
傳統版 UI
- 依序選取「發布」>「入口網站」,然後選取入口網站。
按一下「API 目錄」。
按一下「類別」分頁標籤。API 目錄中的「Categories」分頁會顯示為入口網站定義的類別清單。您可以在「API」頁面中:
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
。使用 list API categories 指令取得類別 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
。使用 list API categories 指令取得類別 ID。
回應酬載:
{ "status": "success", "message": "ApiCategory deleted", "requestId": "1610396471" }
排解已發布 API 的問題
以下各節提供資訊,協助您排解已發布的 API 發生的特定錯誤。
錯誤:使用 Try this API 時,無法擷取傳回的錯誤
使用「Try this API」時,如果系統傳回 TypeError: Failed to fetch
錯誤,請考慮下列可能的原因和解決方法:
如有混合內容錯誤,可能是因為已知的 Swagger UI 問題而導致。一個可能的解決方法,就是在 OpenAPI 文件的
schemes
定義中,務必在 HTTP 前指定 HTTPS。例如:schemes: - https - http
如果發生跨來源資源共享 (CORS) 限制錯誤,請確認 API 代理程式支援 CORS。CORS 是一種標準機制,可啟用用戶端跨來源要求。請參閱「設定 API Proxy 以支援『Try this API』面板」。
錯誤:不允許要求標頭欄位
使用「Try this API」時,如果您收到類似下列範例的 Request header field not allowed
錯誤,可能需要更新 CORS 政策中支援的標頭。例如:
field content-type is not allowed by Access-Control-Allow-Headers in preflight
response
在本例中,您需要將 content-type
標頭新增至 CORS AssignMessage 政策的 Access-Control-Allow-Headers
部分,如「將 Add CORS 政策附加至新的 API 代理程式」一文所述。
錯誤:使用 OAuth 2.0 呼叫 API proxy 時遭拒
Google Cloud 控制台的 OAuthV2 政策會傳回權杖回應,其中包含特定不符合 RFC 規範的屬性。舉例來說,政策會傳回值為 BearerToken
的符記,而非預期的符合 RFC 規範的值 Bearer
。使用「Try this API」時,這項無效的 token_type
回應可能會導致 Access denied
錯誤。
如要修正這個問題,您可以建立 JavaScript 或 AssignMessage 政策,將政策輸出內容轉換為符合規定的格式。詳情請參閱不符合 RFC 的行為。