Strumento a riga di comando Cloud Endpoints Frameworks per App Engine
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
In questa pagina viene descritto come utilizzare lo strumento a riga di comando Endpoints Frameworks per generare una libreria client dall'API di backend Python (il codice in esecuzione sul server). Qualsiasi app Java o Android può utilizzare questa libreria per chiamare l'API.
Puoi generare bundle di librerie client che consentono alle applicazioni di accedere alla tua API utilizzando lo strumento a riga di comando Endpoints Frameworks. Quando
generi una libreria client, lo strumento a riga di comando Endpoints Frameworks
genera automaticamente un
documento di rilevamento
che descrive l'interfaccia della tua API.
Lo strumento a riga di comando Endpoints Frameworksendpointscfg.py è disponibile nella libreria Endpoints Frameworks. Per informazioni sull'installazione della libreria Endpoints Frameworks utilizzando pip, consulta Installare la libreria Endpoints Frameworks.
Tieni presente che i comandi seguenti presuppongono che tu abbia installato la libreria Endpoints Frameworks in una directory denominata lib. Inoltre,
le istruzioni presuppongono che tu abbia creato l'API di backend. Consulta il
tutorial su Endpoints Frameworks per Python
per un esempio di utilizzo dello strumento a riga di comando Endpoints Frameworks su
codice di esempio.
Generazione di un bundle di librerie client da un'API
Puoi utilizzare lo strumento a riga di comando Endpoints Frameworks per generare i seguenti tipi di bundle client:
Maven: questo bundle include un file pom.xml con le dipendenze dei framework di endpoint e della libreria client dell'API di Google.
Il file readme.html fornisce informazioni dettagliate su cosa aggiungere al file readme.html per diversi tipi di applicazioni client e su come creare una libreria client per la tua API utilizzando Maven.pom.xml
Gradle: questo bundle include un file build.gradle con le dipendenze dei framework Endpoints e della libreria client delle API di Google.
Il file readme.html fornisce informazioni dettagliate su cosa aggiungere al file readme.html per diversi tipi di applicazioni client e su come creare una libreria client per la tua API utilizzando Gradle.build.gradle
Bundle client predefinito: questo bundle contiene tutte le librerie delle dipendenze e il file source.jar generato, ovvero la libreria Java che utilizzi nel client per chiamare l'API. Questo bundle fornisce al tuo client tutte le funzionalità della libreria client delle API di Google, incluso OAuth. Il
file readme.html elenca i file .jar richiesti per diversi
tipi di applicazioni client e altri dettagli per l'utilizzo della libreria client.
Se utilizzi la libreria client con un'app per Android, ti consigliamo di utilizzare un bundle client Gradle.
Generazione della libreria client
Per generare la libreria client:
Cambia directory nella directory contenente il file app.yaml
e le classi di servizi API della tua API. In alternativa, utilizza l'opzione
--application
per specificare un'altra posizione della directory dell'applicazione.
Richiama lo strumento a riga di comando Endpoints Frameworks in modo simile al seguente:
dove main è la classe contenente l'API e EchoApi è il nome dell'API.
Attendi che lo strumento generi la libreria client. Se l'operazione riesce, lo strumento visualizza un messaggio simile al seguente:
APIclientlibrarywrittento./echo-v1.zip
Aggiungi il file JAR della libreria client alla tua app per Android.
Ripeti i passaggi precedenti ogni volta che modifichi il codice API.
Il bundle della libreria client viene scritto nella directory corrente, a meno che non specifichi un'altra directory di output utilizzando l'opzione output.
TARGET_LANG specifica il tipo di bundle client che vuoi creare. Al momento, devi fornire il valore java (per i client Java come Android).
OPTIONS, se specificato, è costituito da uno o più elementi mostrati nella
tabella Opzioni
CLASS_NAME è il nome di classe completo della tua API.
Opzioni
Puoi utilizzare le seguenti opzioni:
Nome opzione
Descrizione
Esempio
application
Per impostazione predefinita, lo strumento genera dall'API di backend nella directory corrente. Se vuoi generare utilizzando una directory diversa, specifica il percorso della directory contenente i file app.yaml e le classi di servizio che implementano l'API.
--application /my_path/my_api_dir
build-system
Consente di specificare il tipo di bundle del client da produrre. Specifica gradle per un bundle client Gradle per Android, maven per un bundle client Maven o default (oppure ometti semplicemente questa opzione) per un bundle che contiene solo le librerie delle dipendenze e il file jar di origine.
--build-system=gradle -bs gradle
hostname
Specifica il documento di rilevamento rootURL. Questa opzione sostituisce il valore predefinito derivato dalla voce application all'interno del progetto API di backend app.yaml ([YOUR_APP_ID].appspot.com) e dal hostname definito nel decoratore per l'API. Un utilizzo di questa opzione è fornire l'hostname localhost come rootURL per i test locali.
--hostname localhost
format
Non specificarlo perché l'unico valore supportato è il valore predefinito rest per REST.
Non necessario, utilizza il valore predefinito.
output
Imposta la directory in cui viene scritto l'output. Valore predefinito: la directory da cui viene richiamato lo strumento.
--output /mydir -o /mydir
Piattaforme client supportate
Nel bundle del client prodotto dallo strumento a riga di comando Endpoints Frameworks sono supportate le seguenti piattaforme:
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[[["\u003cp\u003eThe Endpoints Frameworks command-line tool generates client library bundles, including Maven, Gradle, and default, for Java or Android apps to interact with your Python backend API.\u003c/p\u003e\n"],["\u003cp\u003eThis tool automatically creates a Discovery document detailing your API's structure when generating a client library.\u003c/p\u003e\n"],["\u003cp\u003eTo generate a client library, navigate to the directory containing your API's \u003ccode\u003eapp.yaml\u003c/code\u003e and service classes, then use the \u003ccode\u003eendpointscfg.py get_client_lib\u003c/code\u003e command with the target language, options, and API class name.\u003c/p\u003e\n"],["\u003cp\u003eYou can specify options such as \u003ccode\u003e--application\u003c/code\u003e, \u003ccode\u003e--build-system\u003c/code\u003e, \u003ccode\u003e--hostname\u003c/code\u003e, and \u003ccode\u003e--output\u003c/code\u003e to customize the client library generation process.\u003c/p\u003e\n"],["\u003cp\u003eThe command \u003ccode\u003eendpointscfg.py get_openapi_spec\u003c/code\u003e generates an OpenAPI document from your API, and it supports options like \u003ccode\u003e--application\u003c/code\u003e, \u003ccode\u003e--hostname\u003c/code\u003e, and \u003ccode\u003e--output\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Cloud Endpoints Frameworks for App Engine command-line tool\n\nThis page describes how to use the Endpoints Frameworks command-line tool to generate a client library from your Python backend API (the code that runs on the server). Any Java or Android app can use this library to call the API.\n\nYou can generate client library bundles that allow applications to access your\nAPI using the Endpoints Frameworks command-line tool. When you\ngenerate a client library, the Endpoints Frameworks command-line tool\nautomatically generates a\n[Discovery document](https://developers.google.com/discovery/v1/reference/apis)\nthat describes the surface of your API.\n\nThe Endpoints Frameworks command-line tool,`endpointscfg.py` is\navailable in the Endpoints Frameworks library. For information on\ninstalling the Endpoints Frameworks library using `pip`, see\n[Installing the Endpoints Frameworks library](/endpoints/docs/frameworks/python/get-started-frameworks-python#installing_the_endpoints_frameworks_library).\nNote that the following commands assume you have installed the\nEndpoints Frameworks library in a directory called `lib`. Additionally,\nthe instructions assume you have created your backend API. See the\n[Endpoints Frameworks for Python tutorial](/endpoints/docs/frameworks/python/get-started-frameworks-python)\nfor an example of using the Endpoints Frameworks command-line tool on\nsample code.\n\n\nGenerating a client library bundle from an API\n----------------------------------------------\n\nYou can use the Endpoints Frameworks command-line tool to generate the\nfollowing types of client bundles:\n\n- Maven: This bundle includes a `pom.xml` file with the\n Endpoints Frameworks and Google API Client Library dependencies.\n The `readme.html` file provides detailed information on what you need to add\n to your `pom.xml` file for different types of client\n applications and how to build a client library for your API using Maven.\n\n- Gradle: This bundle includes a `build.gradle` file with the\n Endpoints Frameworks and Google API Client Library dependencies.\n The `readme.html` file provides detailed information on what you need to add\n to your `build.gradle` file for different types of client applications and\n how to build a client library for your API using Gradle.\n\n- Default client bundle: This bundle contains all the dependency libraries and\n the generated `source.jar` file, which is the Java library that you use in\n your client to call your API. This bundle provides your client with all of\n the Google API Client Library capabilities, including OAuth. The\n `readme.html` file lists the `.jar` files that are required for different\n types of client applications and other details for using the client library.\n\nIf you are using the client library with an Android app, we recommend that you\nuse a Gradle client bundle.\n\n### Generating the client library\n\nTo generate the client library:\n\n1. Change directory to the directory containing your API's `app.yaml`\n file and API service classes. Alternatively, use the\n [`--application`](#options)\n option to specify some other location of your application directory.\n\n2. Invoke the Endpoints Frameworks command-line tool similar to the\n following:\n\n lib/endpoints/endpointscfg.py get_client_lib java -bs gradle main.EchoApi\n\n where `main` is the class containing your API and `EchoApi` is your API name.\n3. Wait for the tool to generate the client library; on success the tool displays a\n message similar to this one:\n\n API client library written to ./echo-v1.zip\n\n4. Add the client library JAR to your Android app.\n\n5. Repeat the preceding steps every time you modify your API code.\n\nThe client library bundle is written to the current directory unless you\nspecify some other output directory using the\n[`output`](#options)\noption.\n\n### Command-line syntax\n\nThe basic syntax is as follows: \n\n```\n/path-to/your-app/lib/endpointscfg.py get_client_lib TARGET_LANG OPTIONS CLASS_NAME\n```\n\nwhere:\n\n- \u003cvar translate=\"no\"\u003eTARGET_LANG\u003c/var\u003e specifies the type of client bundle you want to create. Currently, you are required to supply the value `java` (for Java clients such as Android).\n- \u003cvar translate=\"no\"\u003eOPTIONS\u003c/var\u003e, if supplied, is one or more items shown in the [Options table](#options)\n- \u003cvar translate=\"no\"\u003eCLASS_NAME\u003c/var\u003e is the fully qualified class name of your API.\n\n| **Note:** If your API is implemented from multiple classes, specify each of them separated by a space.\n\n### Options\n\nYou can use the following options:\n\n\n### Supported client platforms\n\nThe following platforms are supported in the client bundle produced by the\nEndpoints Frameworks command-line tool:\n\n- Java 7 and higher:\n- [Android](https://github.com/googleapis/google-api-java-client/wiki/Android) 1.6 and higher.\n- [App Engine](https://github.com/googleapis/google-api-java-client/wiki).\n\nGenerating an OpenAPI document from an API\n------------------------------------------\n\nThe `endpointscfg.py` tool provides a command to generate an OpenAPI document\nfrom an API backend. The command syntax is: \n\n lib/endpoints/endpointscfg.py get_openapi_spec\n [-h]\n [-a APPLICATION]\n [--hostname HOSTNAME]\n [-o OUTPUT]\n service [service ...]\n\n positional arguments:\n service Fully qualified service class name.\n\n optional arguments:\n -h, --help Show this help message and exit.\n -a APPLICATION, --application APPLICATION\n The path to the Python App Engine application.\n --hostname HOSTNAME Default application hostname, if none is specified for the API service.\n -o OUTPUT, --output OUTPUT\n The directory to store output files.\n --x-google-api-name Add the 'x-google-api-name' field to the generated OpenAPI document.\n\nFor example, using [the `echo` example](https://github.com/GoogleCloudPlatform/python-docs-samples/tree/master/appengine/standard/endpoints-frameworks-v2/echo): \n\n $ lib/endpoints/endpointscfg.py get_openapi_spec --hostname=echo-example.appspot.com main.EchoApi\n OpenAPI spec written to ./echov1openapi.json"]]