Comenzar

En este documento, se detalla el conocimiento previo que necesita para usar la API de Google Site Verification.

Introducción

La API de verificación de sitios de Google está dirigida a desarrolladores que desean escribir aplicaciones o servicios que automatizan el proceso de verificación de la propiedad de un sitio o dominio. Esto es importante, ya que algunos servicios de Google solo pueden usarlos los propietarios de sitios web o dominios. Puedes usar la API de Google Site Verification para validar que el usuario autenticado es el propietario del dominio o del sitio, posiblemente como el primer paso para aprovisionar otros servicios de Google de manera programática.

En este documento, se asume que estás familiarizado con los conceptos de programación web, los formatos de datos web y que puedes modificar de manera programática los archivos o registros DNS de tu sitio web o dominio.

Descripción general

Puedes usar la API de verificación de sitio de Google para modificar los datos de verificación de sitio de Google de un usuario. Los usuarios solo pueden acceder a ciertos servicios de Google si sus datos de verificación muestran que son los propietarios del dominio del sitio web en particular. Puedes usar la API a fin de generar tokens de verificación para usuarios autenticados, que tu código puede colocar de varias maneras en tus sitios web o registros de dominio en su nombre. Una vez que el token esté implementado, realiza una llamada a la API para solicitar a Google que verifique el token. Si Google encuentra el token, registra al usuario autenticado como propietario del sitio web o del dominio. También puedes usar la API para modificar la lista de propiedad en nombre del usuario o quitar la propiedad del sitio por completo.

Todas las llamadas a la API deben estar autorizadas por un usuario autenticado que se ejecute en el contexto de la cuenta del usuario autenticado.

Como ejemplo concreto de cuándo podría usar esta API, supongamos que proporciona un servicio de hosting web. Los usuarios desean poder usar Search Console de Google para obtener información sobre su sitio. Para ello, Google necesita saber que realmente es el propietario. Por lo tanto, les proporcionas a tus usuarios una interfaz que les solicita que verifiquen la propiedad del sitio. Le dan a tu aplicación acceso a sus datos de verificación, y ahora puede ejecutar un código que solicita un token en su nombre, lo ubica en un archivo en la estructura de su sitio y le pide a Google que lo verifique. Cuando Google encuentra el token, actualiza los datos de verificación para proporcionarle la propiedad del sitio. Ahora pueden usar Search Console para obtener la información que deseen.

Antes de comenzar

Obtener cuenta de Google

Asegúrate de tener configurada una cuenta de Google. Te recomendamos usar una cuenta de Google aparte para realizar pruebas y desarrollo a fin de protegerte contra la pérdida accidental de datos.

Familiarízate con la verificación del sitio

Si no conoces los conceptos de la API de verificación de sitios de Google, debes leer este documento, experimentar con la interfaz de usuario de verificación y leer la documentación de ayuda asociada antes de comenzar a codificar.

Más información sobre cómo autorizar solicitudes

Cada solicitud que tu aplicación envíe a la API de Google Site Verification debe incluir un token de autorización. El token también identifica tu aplicación ante Google.

Acerca de los protocolos de autorización

Tu aplicación debe usar OAuth 2.0 para autorizar solicitudes. No se admiten otros protocolos de autorización. Si tu aplicación usa Acceder con Google, tú controlarás algunos aspectos de la autorización.

Solicitudes de autorización con OAuth 2.0

Todas las solicitudes a la API de Google Site Verification deben estar autorizadas por un usuario autenticado.

Los detalles del proceso de autorización, o "flujo", para OAuth 2.0 varían de alguna manera según el tipo de aplicación que estás escribiendo. El siguiente proceso general se aplica a todos los tipos de aplicación:

  1. Cuando crees tu aplicación, deberás registrarla con Google API Console. Luego, Google proporcionará la información que necesites más tarde, como el ID y un secreto del cliente.
  2. Activa la API de verificación del sitio de Google en la Consola de API de Google. Si no aparece en la consola de API, omite este paso.
  3. Cuando la aplicación necesite acceder a datos del usuario, solicita a Google un alcance de acceso en particular.
  4. Google mostrará una pantalla de consentimiento al usuario, en la que le pedirá que permita a la aplicación solicitar algunos de sus datos.
  5. Si el usuario la aprueba, Google le otorgará a la aplicación un token de acceso de corta duración.
  6. La aplicación solicitará los datos del usuario y adjuntará el token de acceso a la solicitud.
  7. Si Google determina que la solicitud y el token son válidos, mostrará los datos solicitados.

Algunos flujos requieren pasos adicionales, como el uso de tokens de actualización, para adquirir nuevos tokens de acceso. Si deseas obtener información detallada sobre los flujos para varios tipos de aplicaciones, consulta la documentación de OAuth 2.0 de Google.

Esta es la información del alcance de OAuth 2.0 para la API de Google Site Verification:

Scope Significado
https://www.googleapis.com/auth/siteverification Tiene acceso completo de lectura a los sitios verificados.
https://www.googleapis.com/auth/siteverification.verify_only Capacidad de verificar sitios nuevos y sin acceso de lectura para sitios verificados existentes

Para solicitar acceso con OAuth 2.0, tu aplicación necesita los datos del alcance, además de la información que Google proporciona cuando registras la aplicación (como el ID y el secreto del cliente).

Sugerencia: Las bibliotecas cliente de las API de Google pueden controlar algunos de los procesos de autorización por ti. Están disponibles para una variedad de lenguajes de programación. Si quieres obtener más detalles, consulta la página que incluye bibliotecas y ejemplos.

Fondo de la API de verificación del sitio de Google

Conceptos

Puedes usar la API de verificación del sitio de Google para establecer la propiedad de un usuario de los siguientes tipos de recursos web:

  • Dominio: Un dominio o subdominio. Se considera que el propietario de un dominio es el propietario de todos los sitios y subdominios de ese dominio. Por ejemplo, el propietario directo de bar.com también se considera el propietario indirecto de foo.bar.com.
  • Sitio: una URL que corresponde al dominio base y a la ruta de un sitio web. Se considera que el propietario de un sitio es el propietario de todos los sitios de este. Por ejemplo, el propietario de "http://www.example.com/sitio" también se considera el propietario de "http://www.example.com/sitio/subsitio".

Debido a que la propiedad del dominio es más aplicable que la propiedad del sitio, le recomendamos que realice la verificación con dominios siempre que sea posible.

El proceso de establecer la propiedad comienza cuando tu aplicación solicita un "token de verificación" en nombre del usuario. El token de verificación es una string especial que su código debe colocar en su sitio web o dominio. Una vez que el token esté instalado, su aplicación podrá realizar una solicitud a la API de verificación del sitio de Google que verifique el token y registre la propiedad cuando lo encuentre.

Limitaciones

Por razones técnicas y de seguridad, la API de verificación de sitio de Google aplica algunas restricciones sobre su uso:

  • Acceso a los datos solo para usuarios autenticados: Todas las operaciones requieren autenticación y autorización de usuario.
  • Verificación solo para el usuario autenticado: La API solo puede verificar la propiedad de los sitios o dominios de la cuenta autenticada actualmente. Sin embargo, el usuario autenticado puede delegar la propiedad a otros usuarios después de que se haya verificado su propiedad de un sitio. Ten en cuenta que todos los propietarios reciben una notificación por correo electrónico cada vez que se realizan cambios en la lista de propiedad.
  • Solo URL y nombres de dominio normalizados. La API de verificación del sitio de Google no es compatible con la codificación de IDN (nombre de dominio internacional). Asegúrese de normalizar todas las URL, los nombres de dominio y los dominios de direcciones de correo electrónico al conjunto de caracteres estándar del nombre de dominio (RFC 1034 §3.5) mediante Punycoding si es necesario.

Métodos de verificación y tokens

La API proporciona llamadas para las diferentes fases de verificación:

  • Colocar el token de verificación: Hay una llamada a la API para recuperar un token de verificación a fin de colocarla en el sitio del usuario autenticado. Si un usuario tiene más de un sitio, debes obtener un token diferente para cada sitio.
  • Verificación de la presencia del token de verificación: Hay otra llamada a la API para solicitar que Google compruebe el token a fin de verificar que el usuario autenticado es el propietario de un sitio.

Hay varios métodos para verificar un sitio web o un dominio que tu aplicación puede usar; el que selecciones depende de lo que funcione mejor para tus requisitos. La ubicación del token, así como el tipo de token en sí, dependen del método de verificación que elijas.

Método de verificación del dominio

Hay dos métodos de verificación disponibles para los dominios:

DNS_CNAME

Tu aplicación crea un nuevo registro CNAME para el dominio del propietario, posiblemente a través de su registrador de dominio, utilizando el token para los datos de registro. El token se compone de dos partes separadas por un espacio: la primera es el nombre del nuevo registro CNAME y la segunda parte corresponde al valor del nuevo registro CNAME.

DNS_TXT

Tu aplicación crea un nuevo registro TXT para el dominio del propietario, posiblemente a través de su registrador de dominio, con el token para los datos de registro.

Consulte la documentación del Centro de ayuda sobre el método de verificación de DNS para obtener más información.

Métodos de verificación de sitios

Hay tres métodos de verificación disponibles para los sitios:

File
La aplicación coloca el token en forma de archivo en el sitio web del propietario. Debes crear un archivo con un nombre que coincida con la string del token, que debe tener el siguiente contenido:
google-site-verification: token

Por ejemplo, si un usuario es propietario del sitio http://www.example.com/ y el token que se muestra es google12cfc68677988bb4.html, solo tienes que crear un archivo en http://www.example.com/google12cfc68677988bb4.html (en el nivel superior de su sitio) con el siguiente contenido:

google-site-verification: google12cfc8677988bb4.html

Consulte la documentación del Centro de ayuda sobre el método de verificación de archivos para obtener más información.

Meta

Tu aplicación inserta el token en forma de una etiqueta HTML <meta>, dentro del elemento <head> del archivo predeterminado (index.html, default.html, etc.) en el nivel superior del sitio del propietario. Un archivo HTML con un token de verificación meta debe tener el siguiente aspecto:

<html>
  <head>
    <title>Awesome Dive Sites</title>
    <meta name="google-site-verification" content="-dhsoFQadgDKJR7BsB6bc1j5yfqjUpg_b-1pFjr7o3x" />
  </head>
  <body>
    ...

Consulte la documentación del Centro de ayuda sobre el método de verificación meta para obtener más información.

Análisis

Tu aplicación utiliza un código de seguimiento de Google Analytics existente que ya se encuentra en el sitio web del propietario. El código de seguimiento debe pertenecer a su cuenta de Analytics y el fragmento debe estar ubicado en la etiqueta HEAD para poder funcionar. Consulte la documentación del Centro de ayuda sobre el método de verificación de Analytics para obtener más información.

Tag Manager

Tu aplicación utiliza un código de contenedor de Google Tag Manager que ya se encuentra en el sitio web del propietario. El código del contenedor debe pertenecer a su cuenta de Tag Manager. Consulte la documentación del Centro de ayuda sobre el método de verificación de Tag Manager para obtener más información.

Puede resultar útil para comprender los conceptos básicos y el flujo de trabajo si primero intenta verificar algunos sitios de forma manual con la interfaz de usuario de Verificación del sitio.

Modelo de datos

Recurso web

La API de verificación de sitios de Google aplica la semántica de REST (HTTP GET, POST, etc.) a las entidades llamadas recursos web. Un recurso web es un sitio web o un dominio que pertenece al usuario autenticado.

Este es un ejemplo de un recurso web:

{
  "owners": [
    "myself@example.com",
    "another@example.com"
  ],
  "id": "http%3A%2F%2Fwww.example.com%2F",
  "site": {
    "identifier": "http://www.example.com/",
    "type": "SITE"
  }
}

El campo id es un identificador único para este recurso web. Se usa para hacer referencia a este recurso web en particular a fin de recuperarlo y modificarlo. Almacena el campo id del resultado de la operación list para usarlo más tarde como identificador.

El objeto site contiene la URL o el nombre de dominio del recurso web y el tipo de recurso. Los sitios se especifican con el tipo SITE; los dominios se especifican con el tipo INET_DOMAIN.

El arreglo owners es la lista completa de propietarios del recurso web, representada por sus direcciones de correo electrónico. Al agregar o eliminar direcciones de correo electrónico de la lista de propietarios, el usuario autenticado puede conceder copropiedad o revocar la propiedad a otros usuarios. Los propietarios adicionales que colocaron tokens propios en el sitio o en el dominio también aparecen en la lista de propietarios, junto con sus copropietarios.

Los usuarios a los que se les otorgó copropiedad también pueden otorgar copropiedad, siempre y cuando haya al menos un propietario verificado con un token en el sitio.

Colección de recursos web

La colección de recursos web es una lista completa de todos los recursos web que pertenecen al usuario autenticado. Puedes verificar la propiedad de los sitios o dominios con solo intentar agregar nuevos recursos web a la colección de recursos web del usuario autenticado. Solo los sitios o dominios verificados se agregaron correctamente a su colección.

Como se indicó anteriormente en la sección Limitaciones, no se puede acceder a los recursos web que pertenecen a usuarios que no sean autenticados a través de la API de verificación de sitios.