Si estableces un requisito de clave de API en tu API, las solicitudes al método, la clase o la API protegidos se rechazarán a menos que tengan una clave generada en tu proyecto o en otros proyectos pertenecientes a desarrolladores a los que hayas concedido acceso para habilitar tu API. El proyecto en el que se creó la clave de API no se registra y no se añade al encabezado de la solicitud. Sin embargo, puedes ver el Google Cloud proyecto al que está asociado un cliente en la página Servicios de endpoints, tal como se describe en Filtrar por un proyecto de consumidor específico.
Para obtener información sobre en qué Google Cloud proyecto se debe crear una clave de API, consulta Compartir APIs protegidas por claves de API.
Restringir el acceso a todos los métodos de la API
Para requerir una clave de API en todas las llamadas a la API, añade api_key_required=True
al decorador de la API.
Por ejemplo:
@endpoints.api(name='echo', version='v1', api_key_required=True)
class EchoApi(remote.Service):
#...
Restringir el acceso a métodos de API específicos
Para requerir una clave de API en todas las llamadas a un método de API específico, añade api_key_required=True
al decorador del método de API.
Por ejemplo:
endpoints.method(
# This method takes an Echo message.
ECHO_RESOURCE,
# This method returns an Echo message.
EchoResponse,
path='echo',
http_method='POST',
name='echo_api_key',
api_key_required=True)
def echo_api_key(self, request):
output_content = '\n'.join([request.content] * request.n)
return EchoResponse(content=output_content)
Quitar la restricción de clave de API de un método
Para desactivar la validación de claves de API en una API o un método de API, elimina api_key_required=True
(Python) o apiKeyRequired = AnnotationBoolean.TRUE
(Java) del decorador o la anotación de la API o el método. A continuación, vuelve a compilar y
a implementar.
Llamar a una API con una clave de API
Si una API o un método de API requiere una clave de API, proporcione la clave mediante un parámetro de consulta llamado key
, como se muestra en este ejemplo de cURL:
curl \
-H "Content-Type: application/json" \
-X POST \
-d '{"message": "echo"}' \
"${HOST}/_ah/api/echo/v1/echo_api_key?key=${API_KEY}"
donde HOST
y API_KEY
son variables que contienen el nombre de host y la clave de la API, respectivamente. Sustituye echo
por el nombre de tu API y v1
por la versión de tu API.
Compartir APIs protegidas con una clave de API
Las claves de API están asociadas al Google Cloud proyecto en el que se han creado. Si has decidido que tu API requiera una clave de API, el Google Cloud proyecto en el que se cree la clave de API dependerá de las respuestas a las siguientes preguntas:
- ¿Necesitas distinguir entre los llamantes de tu API para poder usar funciones de Endpoints, como las cuotas?
- ¿Todos los usuarios que llaman a tu API tienen sus propios Google Cloud proyectos?
- ¿Necesitas configurar diferentes restricciones de clave de API?
Puedes usar el siguiente diagrama de flujo para decidir en qué Google Cloud proyecto crear la clave de API.

Concede permiso para habilitar la API
Si necesitas distinguir entre los llamantes de tu API y cada llamante tiene su propio proyecto, puedes conceder a las principales permiso para habilitar la API en su propio proyecto. Google Cloud Google Cloud De esta forma, los usuarios de tu API pueden crear su propia clave de API para usarla con tu API.
Por ejemplo, supongamos que tu equipo ha creado una API para uso interno de varios programas cliente de tu empresa y que cada programa cliente tiene su propio Google Cloud proyecto. Para distinguir entre los llamantes de tu API, la clave de API de cada llamante debe crearse en un proyecto Google Cloud diferente. Puedes conceder permiso a tus compañeros para que habiliten la API en el Google Cloud proyecto al que esté asociado el programa cliente.
Para permitir que los usuarios creen su propia clave de API, sigue estos pasos:
- En el Google Cloud proyecto en el que esté configurada tu API, concede a cada usuario el permiso para habilitar tu API.
- Ponte en contacto con los usuarios e infórmales de que pueden habilitar tu API en su propio proyecto Google Cloud y crear una clave de API.
Crea un Google Cloud proyecto independiente para cada persona que llame
Si necesitas distinguir entre los llamantes de tu API y no todos los llamantes tienen proyectos de Google Cloud , puedes crear un proyecto de Google Cloud y una clave de API independientes para cada llamante. Antes de crear los proyectos, piensa en los nombres que les vas a dar para poder identificar fácilmente la persona que llama asociada a cada proyecto.
Por ejemplo, supongamos que tienes clientes externos de tu API y no sabes cómo se crearon los programas de cliente que llaman a tu API. Puede que algunos clientes usen Google Cloud servicios y tengan un Google Cloud proyecto, y puede que otros no. Para distinguir entre los llamantes, debes crear un Google Cloud proyecto y una clave de API independientes para cada uno.
Para crear un proyecto y una clave de API independientes para cada llamante, sigue estos pasos: Google Cloud
- Crea un proyecto independiente para cada persona que llame.
- En cada proyecto, habilita la API y crea una clave de API.
- Proporciona la clave de API a cada persona que llame.
Crear una clave de API para cada llamante
Si no necesitas distinguir entre los llamantes de tu API, pero quieres añadir restricciones a la clave de API, puedes crear una clave de API independiente para cada llamante en el mismo proyecto.
Para crear una clave de API para cada llamante del mismo proyecto, sigue estos pasos:
- En el proyecto en el que esté configurada tu API o en un proyecto en el que esté habilitada, crea una clave de API para cada cliente que tenga las restricciones de clave de API que necesites.
- Proporciona la clave de API a cada persona que llame.
Crear una clave de API para todos los llamantes
Si no necesitas distinguir entre los llamantes de tu API ni añadir restricciones de API, pero quieres requerir una clave de API (por ejemplo, para evitar el acceso anónimo), puedes crear una clave de API para que la usen todos los llamantes.
Para crear una clave de API para todos los llamantes, sigue estos pasos:- En el proyecto en el que esté configurada tu API o en un proyecto en el que esté habilitada, crea una clave de API para todos los llamantes que tenga las restricciones de clave de API que necesites.
- Proporcionar la misma clave de API a todos los llamantes.