Realiza tu primera llamada a la API de Google Health con OAuth2 Playground

1. Introducción

OAuth 2.0 Playground es una herramienta basada en la Web que te ayuda a probar los flujos de Google OAuth 2.0 sin escribir código. En este codelab, se mostrará cómo configurar tu proyecto de Google Cloud, obtener credenciales, iniciar el flujo de autorización con OAuth 2.0 Playground y realizar tu primera llamada a uno de los extremos de la API de Google Health.

Qué aprenderás

  • Cómo configurar un ID de cliente en la consola de Google Cloud
  • Cómo completar el flujo de autorización de OAuth 2.0 de Google para obtener un token de acceso y un token de actualización con OAuth 2.0 Playground
  • Cómo realizar llamadas a los extremos de la API de Google Health con la zona de pruebas de OAuth 2.0

Requisitos

Para configurar la app de Fitbit para dispositivos móviles, haz lo siguiente:

  1. En Apple App Store o Google Play Store, busca la app de Fitbit para dispositivos móviles y descárgala.
  2. Selecciona el ícono de la app.
  3. Haz clic en Acceder con Google.
  4. Selecciona tu Cuenta de Google y presiona el botón Continuar.

2. Configura el proyecto de Google Cloud

Usarás la consola de Google Cloud para crear un ID de cliente y habilitar el uso de la API de Google Health.

  1. Accede a la consola de Google Cloud.
  2. Para crear un proyecto nuevo, sigue estos pasos:
    1. Haz clic en Seleccionar un proyecto en el selector de proyectos.
    2. En la esquina superior derecha, selecciona Proyecto nuevo.
    3. Ingresa el nombre del proyecto.
    4. Ingresa tu Ubicación (por ejemplo, “Sin organización”).
    5. Haz clic en el botón Create (Crear).
    6. Elige tu proyecto.

Habilita la API de Google Health

  1. En la esquina superior izquierda, haz clic en el ícono de menú:menú
  2. Selecciona API y servicios > Biblioteca.
  3. Busca "Google Health API" y habilítala.

Configura tus credenciales de OAuth

Si no estás en la consola de Google Cloud, ve a la consola de Google Cloud.

  1. En la esquina superior izquierda, haz clic en el ícono de menú:menú
  2. Selecciona APIs y servicios > Credenciales.
  3. En la parte superior central, selecciona + Crear credenciales > ID de cliente de OAuth.
  4. Haz clic en el botón Configurar pantalla de consentimiento. Si aparece el mensaje "Aún no se configuró Google Auth Platform", haz clic en el botón Comenzar.
  5. En la sección 1:
    1. Ingresa el Nombre de la app.
    2. Ingresa el correo electrónico de asistencia del usuario.
    3. Haz clic en el botón Siguiente.
  6. En la sección 2:
    1. Selecciona Externo.
    2. Haz clic en el botón Siguiente.
  7. En la sección 3:
    1. Ingresa tu dirección de correo electrónico en el campo Información de contacto.
    2. Haz clic en el botón Siguiente.
  8. En la sección 4:
    1. Haz clic en la casilla de verificación para aceptar la Política de Datos del Usuario de los Servicios de las APIs de Google.
    2. Haz clic en el botón Create (Crear).
  9. Navega a APIs y servicios > Credenciales y selecciona + Crear credenciales > ID de cliente de OAuth.
  10. Elige el tipo de aplicación Web Application.
  11. Ingresa el nombre del ID de cliente.
  12. Deja vacío el campo Orígenes autorizados de JavaScript.
  13. En URIs de redireccionamiento autorizados, haz clic en + Agregar URI y agrega los siguientes URIs:
    • https://www.google.com
    • https://developers.google.com/oauthplayground
  14. Haz clic en el botón Create (Crear).
  15. La consola de Google mostrará un mensaje que indica que se creó tu ID de cliente. Haz clic en el vínculo Descargar JSON para descargar el ID y el secreto del cliente, o bien anota los valores. No podrás recuperar el secreto del cliente después.
  16. Haz clic en Aceptar. Volverás a la página "IDs de cliente de OAuth 2.0".
  17. Tu ID de cliente se agregará a tu proyecto. Haz clic en la URL del ID de cliente para ver los detalles.

Agrega usuarios de prueba

  1. En el panel izquierdo, selecciona Público. Deberías ver el "Estado de publicación" establecido en Prueba y el "Tipo de usuario" establecido en Externo.
  2. En la sección "Usuarios de prueba", haz clic en el botón + Agregar usuarios. Ingresa la dirección de correo electrónico de cualquier usuario cuyos datos quieras recuperar.
  3. Haga clic en el botón Guardar.

Agrega permisos al ID de cliente

  1. En el panel izquierdo, selecciona Acceso a los datos.
  2. Haz clic en el botón Agregar o quitar permisos.
  3. En la columna API, busca "Google Health API". En este codelab, usamos el alcance .../auth/googlehealth.activity_and_fitness.readonly.
  4. Después de seleccionar el alcance, presiona el botón Actualizar para volver a la página Acceso a los datos.
  5. Haga clic en el botón Guardar.

Terminaste de configurar tu ID de cliente.

3. Cómo agregar datos a la app de Fitbit para dispositivos móviles

Si eres un usuario nuevo de Fitbit, es posible que no tengas datos en tu cuenta de Fitbit para consultar. Agregaremos manualmente un registro de ejercicios que podremos consultar a través de uno de los extremos. Para registrar un ejercicio de forma manual, sigue estos pasos:

  1. Abre la app de Fitbit para dispositivos móviles en tu dispositivo. Si es necesario, accede a tu cuenta de Fitbit.
  2. En la esquina inferior derecha de la pantalla, presiona el botón +.
  3. En la sección "Registrar manualmente", presiona Actividad.
  4. Busca el tipo de ejercicio Caminata y selecciónalo.
  5. Ingresa una hora de inicio para hoy.
  6. Cambia la duración a 15 minutos.
  7. Deja la distancia en 1.0 mi.
  8. Presiona Agregar.
  9. Mantén presionada la pantalla y deslízala hacia abajo para sincronizar la app para dispositivos móviles con los servidores de Fitbit. Cuando sueltes el dedo, deberías ver la sincronización de la app para dispositivos móviles.
  10. En la sección "Actividad", deberías ver la entrada de Caminata que registraste de forma manual.Captura de pantalla que muestra una actividad de caminata.

4. Autoriza en OAuth 2.0 Playground

Ve a OAuth 2.0 Playground.

La API de Google Health requiere que uses tus propias credenciales de OAuth con Playground.

  1. Haz clic en el ícono de ajustes Configuración de OAuth 2.0 en la esquina superior derecha.
  2. Selecciona Usa tus propias credenciales de OAuth.
  3. Ingresa el ID de cliente de OAuth y el secreto de cliente de OAuth que obtuviste durante la configuración del proyecto de Google Cloud.

La interfaz de Playground se divide en tres pasos principales que seguiremos:

  1. Selecciona y autoriza APIs
  2. Intercambia el código de autorización por tokens
  3. Envía una solicitud a la API

Selecciona y autoriza APIs

Aquí es donde eliges los alcances de la API que deseas solicitar.

  1. En el Paso 1, busca Google Health API v4 en la lista de APIs y expándela.
  2. Selecciona https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly. Si el alcance que necesitas no se muestra en la lista, puedes ingresarlo manualmente en el campo "Ingresa tus propios alcances".
  3. Haz clic en Autorizar API.
  4. Se envía una solicitud al extremo de autorización de OAuth 2.0 de Google, se incluyen los permisos seleccionados en la solicitud y, luego, se te redirecciona a la pantalla de consentimiento de la Cuenta de Google.
  5. Accede con una cuenta de usuario de prueba que configuraste en la sección Configura el proyecto de Google Cloud (si aún no accediste).
  6. Revisa los permisos solicitados y haz clic en Continuar para otorgar acceso.

Cuando otorgas tu consentimiento, Google te redirecciona a Playground y le proporciona un código de autorización a la herramienta, que se usa en el siguiente paso.

El panel Solicitud / Respuesta de la derecha muestra el flujo de redireccionamiento HTTP completo.

La respuesta de la solicitud de autorización inicial es un redireccionamiento 302 Found:

HTTP/1.1 302 Found
Location: https://accounts.google.com/o/oauth2/v2/auth?redirect_uri=https%3A%2F%2Fdevelopers.google.com%2Foauthplayground&prompt=consent&response_type=code&client_id=your_client_id&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fgooglehealth.activity_and_fitness.readonly&access_type=offline

La solicitud resultante que se redirecciona al Playground contiene el código de autorización:

GET /oauthplayground/?iss=https://accounts.google.com&code=authorization_code&scope=https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly HTTP/1.1
Host: developers.google.com

El código de autorización es el valor alfanumérico representado por authorization_code entre code= y &scope en la URL de la solicitud GET. En este ejemplo, el valor es similar a 4/0AbPOj....

Intercambia el código de autorización por tokens

En este paso, el código se intercambia por tokens que te permiten realizar solicitudes a la API.

Después de completar Select & authorize APIs, Playground completará automáticamente el campo del código de autorización. Para canjearlo por tokens, haz lo siguiente:

  1. Haz clic en el botón Intercambiar código de autorización para tokens en el Paso 2.
  2. Los parámetros access_token y refresh_token aparecen en el panel Solicitud/Respuesta de la derecha.

Deberías ver una respuesta similar a la siguiente:

{
  "access_token": "ya29.a0AFH6S....",
  "refresh_token_expires_in": 604799,
  "expires_in": 3599,
  "token_type": "Bearer",
  "scope": "https://www.googleapis.com/auth/googlehealth.activity_and_fitness.readonly",
  "refresh_token": "1/og..."
}

Acerca de los tokens de actualización

Cuando intercambias el código de autorización, la respuesta puede incluir un refresh_token además del access_token. access_token tienen una vida útil corta (por lo general, 1 hora). Cuando vence un access_token, debes usar el refresh_token para obtener un access_token nuevo sin que el usuario tenga que volver a acceder o dar su consentimiento. Esto es posible porque incluimos access_type=offline en nuestra solicitud de autorización.

Si no recibes un refresh_token en la respuesta, es posible que ya hayas otorgado el consentimiento para esta app y estos permisos. Por lo general, los tokens de actualización solo se emiten la primera vez que un usuario otorga su consentimiento para tu app o cuando se agrega prompt=consent a la URL de autorización para forzar la aparición de la pantalla de consentimiento incluso en autorizaciones posteriores.

El refresh_token es de larga duración, pero puede vencer o dejar de ser válido si no se usa durante 6 meses, si el usuario revoca el acceso a tu app o por otros motivos. Debes almacenar refresh_token de forma segura para usarlo en el futuro.

Acerca de la actualización de permisos

Si, más adelante, tu aplicación necesita acceder a permisos adicionales de la API de Google Health, debes solicitarle al usuario que vuelva a autorizar tu app y solicitar el conjunto completo de permisos (tanto los existentes como los nuevos).

Para actualizar los alcances en la solicitud de autorización de tu aplicación, haz lo siguiente:

  1. Identifica la lista completa de permisos que necesita tu aplicación.
  2. Modifica el parámetro scope en la URL de autorización para incluir la lista actualizada de valores de alcance separados por espacios.
  3. Agrega prompt=consent a los parámetros del URI de autenticación. Cuando se incluye prompt=consent, la pantalla de consentimiento se muestra cada vez que tu app solicita autorización de permisos, lo que le solicita al usuario que apruebe la lista actualizada.

Una vez que el usuario completa el consentimiento, recibes un nuevo código de autorización que se puede intercambiar por tokens que abarcan el conjunto completo de permisos.

5. Envía una solicitud a la API

Ahora puedes usar tu token de acceso para realizar solicitudes a la API de Google Health. En el paso 3 de Playground, configura tu solicitud HTTP especificando el URI de solicitud, el método HTTP, los encabezados y el cuerpo de la solicitud.

  1. Configura HTTP Method como GET.
  2. Establece el URI de la solicitud en https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints.
  3. Haz clic en Enviar la solicitud.

La respuesta debería verse similar a esto:

{
  "dataPoints": [
    {
      "name": "users/2515055256096816351/dataTypes/exercise/dataPoints/8896720705097069096",
      "dataSource": {
        "recordingMethod": "MANUAL",
        "platform": "FITBIT"
      },
      "exercise": {
        "interval": {
          "startTime": "2026-02-23T13:10:00Z",
          "startUtcOffset": "-18000s",
          "endTime": "2026-02-23T13:25:00Z",
          "endUtcOffset": "-18000s"
        },
        "exerciseType": "WALKING",
        "metricsSummary": {
          "caloriesKcal": 16,
          "distanceMillimiters": 1609344,
          "steps": "2038",
          "averagePaceSecondsPerMeter": 0.55923407301360051,
          "activeZoneMinutes": "0"
        },
        "exerciseMetadata": {},
        "displayName": "Walk",
        "activeDuration": "900s",
        "exerciseEvents": [
          {
            "eventTime": "2026-02-23T13:10:00Z",
            "eventUtcOffset": "-18000s",
            "exerciseEventType": "START"
          },
          {
            "eventTime": "2026-02-23T13:25:00Z",
            "eventUtcOffset": "-18000s",
            "exerciseEventType": "STOP"
          }
        ],
        "updateTime": "2026-02-24T01:19:22.450466Z"
      }
    },
    {
      "name": "users/2515055256096816351/dataTypes/exercise/dataPoints/5870930690409355408",
      "dataSource": {
        "recordingMethod": "MANUAL",
        "platform": "FITBIT"
      },
      "exercise": {
        "interval": {
          "startTime": "2026-02-23T06:00:00Z",
          "startUtcOffset": "-18000s",
          "endTime": "2026-02-23T06:15:00Z",
          "endUtcOffset": "-18000s"
        },
        "exerciseType": "WALKING",
        "metricsSummary": {
          "caloriesKcal": 17,
          "distanceMillimiters": 1609344,
          "steps": "2038",
          "averagePaceSecondsPerMeter": 0.55923407301360051,
          "averageHeartRateBeatsPerMinute": "81",
          "activeZoneMinutes": "0",
          "heartRateZoneDurations": {
            "lightTime": "900s"
          }
        },
        "exerciseMetadata": {},
        "displayName": "Walk",
        "activeDuration": "900s",
        "exerciseEvents": [
          {
            "eventTime": "2026-02-23T06:00:00Z",
            "eventUtcOffset": "-18000s",
            "exerciseEventType": "START"
          },
          {
            "eventTime": "2026-02-23T06:15:00Z",
            "eventUtcOffset": "-18000s",
            "exerciseEventType": "STOP"
          }
        ],
        "updateTime": "2026-02-23T08:29:39.480437Z"
      }
    }
  ],
  "nextPageToken": ""
}

Muchos extremos admiten parámetros de consulta para el filtrado o la paginación. Por ejemplo, para enumerar los ejercicios dentro de un período específico, cambia el URI de solicitud para incluir un parámetro de filtro:

https://health.googleapis.com/v4/users/me/dataTypes/exercise/dataPoints?filter=exercise.interval.civil_start_time >= "2026-02-22T00:00:00"

Vuelve a hacer clic en Enviar la solicitud para ver los resultados filtrados.

6. Felicitaciones

¡Felicitaciones!

Completaste el codelab básico y aprendiste a usar OAuth2 Playground para probar la autorización de OAuth 2.0 y realizar llamadas a los extremos de la API de Google Health.

Esperamos que disfrutes la creación de apps que se integran con el ecosistema de la API de Google Health. Para obtener más información, explora otros extremos de la API de Google Health en la documentación de referencia y obtén más información sobre Google OAuth 2.0 para aplicaciones de servidor web.