Usa claves de API

Los productos de Google Maps Platform se encuentran protegidos del uso no autorizado mediante la restricción de las llamadas a la API a aquellas que proporcionan las credenciales de autenticación adecuadas. Estas credenciales se indican como una clave de API, es decir, una string alfanumérica única que asocia tu cuenta de facturación de Google con tu proyecto y con la API o el SDK específicos.

En esta guía, te mostramos cómo crear, restringir y usar tu clave de API en Google Maps Platform.

Antes de comenzar

Para poder utilizar la API de Maps JavaScript, debes tener un proyecto con una cuenta de facturación y la API de Maps JavaScript habilitada. Si deseas obtener más información, consulta el artículo Configuración en la consola de Cloud.

Crea una clave de API

La clave de API es un identificador único que se utiliza para autenticar solicitudes asociadas a tu proyecto con fines de uso y facturación. Debes tener, al menos, una clave de API asociada a tu proyecto.

Para crear una clave de API, sigue estos pasos:

Consola

  1. Ve a la página Google Maps Platform > Credenciales.

    Ir a la página Credenciales

  2. En la página Credenciales, haz clic en Crear credenciales > Clave de API.
    El diálogo Se creó la clave de API mostrará la clave de API que acabas de crear.
  3. Haz clic en Cerrar.
    La nueva clave de API aparecerá en la página Credenciales debajo de Claves de API.
    (Recuerda restringir la clave de API antes de utilizarla en producción).

SDK de Cloud

gcloud alpha services api-keys create \
    --project "PROJECT" \
    --display-name "DISPLAY_NAME"

Obtén más información sobre el SDK de Google Cloud, la instalación del SDK de Cloud y los siguientes comandos:

Restringe una clave de API

Google recomienda que restrinjas las claves de API limitando su uso solo a aquellas APIs que sean necesarias para tu aplicación. La restricción de las claves de API agrega seguridad a tu aplicación, ya que la protege de solicitudes no autorizadas. Para obtener más información, consulta Prácticas recomendadas sobre la seguridad de la API.

Para restringir una clave de API, sigue estos pasos:

Consola

  1. Ve a la página Google Maps Platform > Credenciales.

    Ir a la página Credenciales

  2. Selecciona la clave de API para la que deseas establecer una restricción. Aparecerá la página de propiedades de la clave de API.
  3. En Restricciones de clave, establece las siguientes restricciones:
    • Restricciones de aplicaciones:
      1. Para aceptar las solicitudes de la lista de sitios web que proporcionas, selecciona URLs de referencia HTTP (sitios web) en la lista de restricciones de aplicaciones.
      2. Especifica uno o más sitios web con URLs de referencia. Se aceptan caracteres de comodín para autorizar todos los subdominios (por ejemplo, *.google.com acepta todos los sitios que terminan en .google.com). No cambies las especificaciones de https:// y http://. Debes usar una representación especial para otros tipos de protocolos de URLs de referencia. Por ejemplo, utiliza el formato __file_url__//path/to/* para file:///path/to/. Después de habilitar las URLs de referencia, asegúrate de supervisar el uso para verificar que coincidan con tus expectativas. Se admiten los siguientes protocolos de referencia: about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://.
    • Restricciones de API:
      1. Haz clic en Restringir clave.
      2. Selecciona API de Maps JavaScript en el menú desplegable Seleccionar API. (Si la API de Maps JavaScript no aparece en la lista, debes habilitarla).
      3. Si en tu proyecto se usa la Biblioteca de Places, también selecciona API de Places. Del mismo modo, si en tu proyecto se usan otros servicios de la API de JavaScript (Servicio de instrucciones sobre cómo llegar ,Servicio de matriz de distancia ,Servicio de elevación o Servicio de geocodificación ), también debes habilitar y seleccionar la API correspondiente en esta lista.
  4. Para finalizar los cambios, haz clic en Guardar.

SDK de Cloud

Enumera las claves existentes.

gcloud services api-keys list --project="PROJECT"

Borra las restricciones que existen sobre la clave existente.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --clear-restrictions

Establece restricciones nuevas sobre la clave existente.

gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \
    --api_target="maps-backend.googleapis.com"
    --allowed-referrers="referer

Obtén más información sobre el SDK de Google Cloud, la instalación del SDK de Cloud y los siguientes comandos:

Agrega la clave de API a tu solicitud

Debes incluir una clave de API en cada solicitud a la API de Maps JavaScript. En el siguiente ejemplo, reemplaza YOUR_API_KEY por tu clave de API.

<script>
  (g=>{var h,a,k,p="The Google Maps JavaScript API",c="google",l="importLibrary",q="__ib__",m=document,b=window;b=b[c]||(b[c]={});var d=b.maps||(b.maps={}),r=new Set,e=new URLSearchParams,u=()=>h||(h=new Promise(async(f,n)=>{await (a=m.createElement("script"));e.set("libraries",[...r]+"");for(k in g)e.set(k.replace(/[A-Z]/g,t=>"_"+t[0].toLowerCase()),g[k]);e.set("callback",c+".maps."+q);a.src=`https://maps.${c}apis.com/maps/api/js?`+e;d[q]=f;a.onerror=()=>h=n(Error(p+" could not load."));a.nonce=m.querySelector("script[nonce]")?.nonce||"";m.head.append(a)}));d[l]?console.warn(p+" only loads once. Ignoring:",g):d[l]=(f,...n)=>r.add(f)&&u().then(()=>d[l](f,...n))})({
    key: "YOUR_API_KEY_HERE",
    // Add other bootstrap parameters as needed, using camel case.
    // Use the 'v' parameter to indicate the version to load (alpha, beta, weekly, etc.)
  });
</script>