App Engine 指令列工具適用的 Cloud Endpoints Frameworks

此頁面說明如何使用 Cloud Endpoints Frameworks 指令列工具,從 Python 後端 API (在伺服器上執行的程式碼) 產生用戶端程式庫。任何 Java 或 Android 應用程式都能使用這個程式庫來呼叫 API。

您可以產生用戶端程式庫套裝組合,允許應用程式透過 Cloud Endpoints Frameworks 指令列工具存取您的 API。當您產生用戶端程式庫時,架構指令列工具會自動建立說明 API 介面的探索文件

在 Cloud Endpoints Frameworks 程式庫中,可使用 Framework 指令列工具 endpointscfg.py。如需進一步瞭解如何使用 pip 安裝 Endpoints Frameworks 程式庫,請參閱安裝 Endpoints Frameworks 程式庫。請注意,以下指令是假設您已經在 lib 目錄中安裝 Endpoints Frameworks 程式庫。此外,此說明是假設您已經建立好後端 API。有關使用 Framework 指令列工具的範例程式碼,請參閱 Python 中的 Endpoint Frameworks 教程

從 API 產生用戶端程式庫套裝組合

您可以使用 Framework 指令列工具來產生以下用戶端套裝組合類型:

  • Maven:此套裝組合包含具有 Endpoints Framework 以及 Google API 用戶端相依項目的 pom.xml 檔案。readme.html 提供詳細資訊,說明對於不同類型的用戶端應用程式,需要新增哪些內容到 pom.xml 檔案中;以及介紹如何使用 Maven 為 API 建構用戶端程式庫。

  • Gradle:套裝組合包含具有 Endpoints Frameworks 和 Google API 用戶端相依項目的 build.gradle 檔案。readme.html 提供詳細資訊,說明對於不同類型的用戶端應用程式,需要新增哪些內容到 build.gradle 檔案中;以及介紹如何使用 Gradle 為 API 建構用戶端程式庫。

  • 預設用戶端套裝組合:套裝組合包含所有相依項目程式庫和產生的 source.jar 檔案,這個檔案是您在用戶端中用於呼叫 API 的 Java 程式庫。這個套裝組合可提供用戶端所有的 Google API 用戶端功能,包括 OAuth。readme.html 檔案列出了不同用戶端應用程式類型需要的 .jar 檔案,以及其他操作用戶端程式庫的詳細資訊。

如果您將用戶端程式庫與 Android 應用程式搭配使用,建議您使用 Gradle 用戶端套裝組合。

產生用戶端程式庫

如需產生用戶端程式庫:

  1. 將目錄更改為包含有 API app.yaml 檔案以及 API 服務類別的目錄。您也可使用 --application 選項指定應用程式目錄的其他位置。

  2. 呼叫 Endpoints 指令列工具,類似於以下內容:

    lib/endpoints/endpointscfg.py get_client_lib java -bs gradle main.EchoApi
    

    其中 main 是包含 API 的類別,以及EchoApi 是您的 API 名稱。

  3. 等待工具產生程式庫;成功時,工具將會顯示類似以下訊息:

    API client library written to ./echo-v1.zip
    
  4. 將用戶端程式庫 JAR 新增至您的 Android 應用程式。

  5. 每次修改 API 程式碼時都重複執行上述步驟。

除非使用 output 選項指定其他輸出目錄,否則用戶端程式庫套裝組合將被寫入當前目錄。

指令列語法

基本語法如下所示:

/path-to/your-app/lib/endpointscfg.py get_client_lib <target_lang> <options> [class-name]

其中:

  • <target-lang> 指令所要建立的用戶端套裝組合類型。目前,您需要提供 java 値。(適用於 Java 用戶端,例如 Android)。
  • <options> (如果有提供) 為選項表格中列示的一或多個項目。
  • [class name] 為 API 的完整類別名稱。

選項

您可以採用下列選項:

選項名稱 說明 範例
application 在預設情況下,該工具會從當前目錄中的後端 API 產生。
若要使用其他目錄產生,請指定包含有 app.yaml 目錄的路徑,以及用來執行 API 的服務類別。
--application /my_path/my_api_dir
build-system 讓您指定要產生的用戶端套裝組合類型。為 Android 適用的 Gradle 用戶端套裝組合指定 gradle,為 Maven 用戶端套裝組合指定 maven,或者針對只包含相依元件程式庫和來源 jar 的套裝組合指定 default (也可省略這個選項)。 --build-system=gradle
-bs gradle
hostname 指定探索文件 rootURL
此選項會覆寫預設值,其預設值是從後端 API 專案 app.yaml (<application>.appspot.com) 的 application 項目所衍生的。
此選項的其中一個用途是提供主機名稱 localhost 做為本地測試的根網址。
--hostname localhost
format 不要指定此選項,因為它只支援預設值,rest 為 REST。 不需要,使用預設值。
output 設定要寫入輸出內容的目錄。
預設值:叫用工具所在的目錄。
--output /mydir
-o /mydir

支援的用戶端平台

由 Endpoints 指令列工具產生的用戶端套裝組合支援以下平台:

從 API 產生 OpenAPI 文件

endpointscfg.py 工具提供一個從 API 後端產生的 OpenAPI 文件的指令。指令的語法為:

lib/endpoints/endpointscfg.py get_openapi_spec
    [-h]
    [-a APPLICATION]
    [--hostname HOSTNAME]
    [-o OUTPUT]
    service [service ...]

positional arguments:
  service               Fully qualified service class name.

optional arguments:
  -h, --help            Show this help message and exit.
  -a APPLICATION, --application APPLICATION
                        The path to the Python App Engine application.
  --hostname HOSTNAME   Default application hostname, if none is specified for the API service.
  -o OUTPUT, --output OUTPUT
                        The directory to store output files.
  --x-google-api-name   Add the 'x-google-api-name' field to the generated OpenAPI document.

例如,使用 Echo 範例

$ lib/endpoints/endpointscfg.py get_openapi_spec --hostname=echo-example.appspot.com main.EchoApi
OpenAPI spec written to ./echov1openapi.json
本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
App Engine 適用的 Cloud Endpoints Frameworks
需要協助嗎?請前往我們的支援網頁