Guía de inicio rápido de Python

Las guías de inicio rápido explican cómo configurar y ejecutar una app que llama a una API de Google Workspace.

En las guías de inicio rápido de Google Workspace, se usan las bibliotecas cliente de la API para manejar algunos detalles del flujo de autenticación y autorización. Te recomendamos que uses las bibliotecas cliente para tus propias apps. En esta guía de inicio rápido, se usa un enfoque de autenticación simplificado que es adecuado para un entorno de pruebas. En el caso de un entorno de producción, te recomendamos que obtengas información sobre la autenticación y la autorización antes de elegir las credenciales de acceso apropiadas para la app.

Crea una aplicación de línea de comandos de Python que realice solicitudes a la API de Google Tasks.

Objetivos

  • Configurar el entorno
  • Instalar la biblioteca cliente.
  • Configura la muestra.
  • Ejecuta la muestra.

Requisitos previos

Para ejecutar esta guía de inicio rápido, necesitas los siguientes requisitos previos:

  • Una Cuenta de Google con Google Tasks habilitado

Configura tu entorno

Para completar esta guía de inicio rápido, configura tu entorno.

Habilita la API

Antes de usar las APIs de Google, debes activarlas en un proyecto de Google Cloud. Puedes activar una o más APIs en un solo proyecto de Google Cloud.

Si usas un proyecto de Google Cloud nuevo para completar esta guía de inicio rápido, configura la pantalla de consentimiento de OAuth y agrégate como usuario de prueba. Si ya completaste este paso para tu proyecto de Cloud, pasa a la siguiente sección.

  1. En la consola de Google Cloud, ve a Menú > APIs y servicios > Pantalla de consentimiento de OAuth.

    Ir a la pantalla de consentimiento de OAuth

  2. En Tipo de usuario, selecciona Interno y, luego, haz clic en Crear.
  3. Completa el formulario de registro de la app y, luego, haz clic en Save and Continue.
  4. Por ahora, puedes omitir la adición de permisos y hacer clic en Guardar y continuar. En el futuro, cuando crees una app para usarla fuera de tu organización de Google Workspace, deberás cambiar el Tipo de usuario a Externo y, luego, agregar los permisos de autorización que requiera tu app.

  5. Revisa el resumen del registro de tu app. Para realizar cambios, haz clic en Editar. Si el registro de la app es correcto, haz clic en Volver al panel.

Autoriza las credenciales de una aplicación para computadoras

Para autenticar a los usuarios finales y acceder a los datos del usuario en tu app, debes crear uno o más ID de cliente de OAuth 2.0. Un ID de cliente se usa con el fin de identificar una sola app para los servidores de OAuth de Google. Si la app se ejecuta en varias plataformas, debes crear un ID de cliente diferente para cada una.
  1. En la consola de Google Cloud, ve a Menú > APIs y servicios > Credenciales.

    Ir a Credenciales

  2. Haz clic en Crear credenciales > ID de cliente de OAuth.
  3. Haz clic en Tipo de aplicación > App de escritorio.
  4. En el campo Nombre, escribe un nombre para la credencial. Este nombre solo se muestra en la consola de Google Cloud.
  5. Haz clic en Crear. Aparecerá la pantalla de creación del cliente de OAuth, en la que se mostrará tu ID de cliente nuevo y el secreto del cliente.
  6. Haz clic en OK. La credencial creada recientemente aparecerá en IDs de cliente de OAuth 2.0.
  7. Guarda el archivo JSON descargado como credentials.json y muévelo a tu directorio de trabajo.

Cómo instalar la biblioteca cliente de Google

  • Instala la biblioteca cliente de Google para Python:

    pip install --upgrade google-api-python-client google-auth-httplib2 google-auth-oauthlib
    

Configura la muestra

  1. En el directorio de trabajo, crea un archivo llamado quickstart.py.
  2. Incluye el siguiente código en quickstart.py:

    Tasks/quickstart/quickstart.py
    import os.path
    
    from google.auth.transport.requests import Request
    from google.oauth2.credentials import Credentials
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    from googleapiclient.errors import HttpError
    
    # If modifying these scopes, delete the file token.json.
    SCOPES = ["https://www.googleapis.com/auth/tasks.readonly"]
    
    
    def main():
      """Shows basic usage of the Tasks API.
      Prints the title and ID of the first 10 task lists.
      """
      creds = None
      # The file token.json stores the user's access and refresh tokens, and is
      # created automatically when the authorization flow completes for the first
      # time.
      if os.path.exists("token.json"):
        creds = Credentials.from_authorized_user_file("token.json", SCOPES)
      # If there are no (valid) credentials available, let the user log in.
      if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
          creds.refresh(Request())
        else:
          flow = InstalledAppFlow.from_client_secrets_file(
              "credentials.json", SCOPES
          )
          creds = flow.run_local_server(port=0)
        # Save the credentials for the next run
        with open("token.json", "w") as token:
          token.write(creds.to_json())
    
      try:
        service = build("tasks", "v1", credentials=creds)
    
        # Call the Tasks API
        results = service.tasklists().list(maxResults=10).execute()
        items = results.get("items", [])
    
        if not items:
          print("No task lists found.")
          return
    
        print("Task lists:")
        for item in items:
          print(f"{item['title']} ({item['id']})")
      except HttpError as err:
        print(err)
    
    
    if __name__ == "__main__":
      main()

Ejecutar la muestra

  1. En el directorio de trabajo, compila y ejecuta la muestra:

    python3 quickstart.py
    
  1. La primera vez que ejecutes la muestra, se te solicitará que autorices el acceso:
    1. Si aún no accediste a tu Cuenta de Google, hazlo cuando se te solicite. Si accediste a varias cuentas, selecciona una para usar la autorización.
    2. Haz clic en Aceptar.

    Tu aplicación de Python ejecuta y llama a la API de Google Tasks.

    La información de autorización se almacena en el sistema de archivos, por lo que la próxima vez que ejecutes el código de muestra, no se te solicitará autorización.

Próximos pasos