Usa claves de API

Los productos de Google Maps Platform están protegidos contra un uso no autorizado porque restringen las llamadas a la API a aquellas que proporcionan credenciales válidas de autenticación. 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 cómo configurar tu proyecto 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 las claves 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 URL de referencia. Puedes utilizar caracteres comodines para autorizar todos los subdominios (por ejemplo, https://*.google.com acepta todos los sitios que terminan en .google.com cuando se acceden a través de HTTPS). Ten en cuenta que si especificas el sitio www.domain.com, este actuará como el comodín www.domain.com/* y autorizará cualquier subruta de ese nombre de host. Especifica los esquemas de URLs de referencia https:// y http:// tal como están. Para otros protocolos de URLs, debes usar una representación especial. Por ejemplo, el formato file:///path/to/ como __file_url__//path/to/*. Después de habilitar los sitios web, asegúrate de supervisar el uso para verificar que coincidan con tus expectativas. Se admiten los siguientes protocolos: about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res:// y saphtmlp://.
    • Restricciones de API:
      1. Haz clic en Restringir clave.
      2. Selecciona API de Maps JavaScript en el menú desplegable Seleccionar APIs. Si la API de Maps JavaScript no aparece en la lista, deberás 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",
    v: "weekly",
    // Use the 'v' parameter to indicate the version to use (weekly, beta, alpha, etc.).
    // Add other bootstrap parameters as needed, using camel case.
  });
</script>