Guía de inicio rápido de Python

En las guías de inicio rápido, se explica cómo configurar y ejecutar una app que llama a una API de Google Workspace.

Las guías de inicio rápido de Google Workspace 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 apropiado para un entorno de pruebas. En el caso de un entorno de producción, te recomendamos obtener información sobre la autenticación y la autorización antes de elegir las credenciales de acceso adecuadas para la app.

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

Objetivos

  • Configurar el entorno
  • Instale 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

Configure su entorno

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

Cómo habilitar 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.
  • En la consola de Google Cloud, habilita la API de Formularios de Google.

    Habilitar la API

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. Selecciona el tipo de usuario para tu app y, luego, haz clic en Create.
  3. Complete el formulario de registro de la aplicación y, luego, haga clic en Guardar y continuar.
  4. Por ahora, puedes omitir la opción de agregar 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 agregar y verificar los permisos de autorización que requiere tu app.

  5. Si seleccionaste Externo como tipo de usuario, agrega usuarios de prueba:
    1. En Usuarios de prueba, haz clic en Agregar usuarios.
    2. Ingresa tu dirección de correo electrónico y cualquier otro usuario de prueba autorizado. Luego, haz clic en Guardar y continuar.
  6. 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 credenciales para una aplicación de escritorio

Para autenticarte como usuario final y acceder a los datos del usuario en tu app, debes crear uno o más IDs 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 distinto 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 > Aplicación 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 OAuth que muestra tu ID de cliente nuevo y el secreto de cliente.
  6. Haz clic en OK. La credencial creada recientemente aparecerá en ID de cliente de OAuth 2.0.
  7. Guarda el archivo JSON descargado como credentials.json y muévelo a tu directorio de trabajo.

Instala 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:

    forms/quickstart/quickstart.py
    from __future__ import print_function
    
    from apiclient import discovery
    from httplib2 import Http
    from oauth2client import client, file, tools
    
    SCOPES = "https://www.googleapis.com/auth/forms.body"
    DISCOVERY_DOC = "https://forms.googleapis.com/$discovery/rest?version=v1"
    
    store = file.Storage('token.json')
    creds = None
    if not creds or creds.invalid:
        flow = client.flow_from_clientsecrets('client_secrets.json', SCOPES)
        creds = tools.run_flow(flow, store)
    
    form_service = discovery.build('forms', 'v1', http=creds.authorize(
        Http()), discoveryServiceUrl=DISCOVERY_DOC, static_discovery=False)
    
    # Request body for creating a form
    NEW_FORM = {
        "info": {
            "title": "Quickstart form",
        }
    }
    
    # Request body to add a multiple-choice question
    NEW_QUESTION = {
        "requests": [{
            "createItem": {
                "item": {
                    "title": "In what year did the United States land a mission on the moon?",
                    "questionItem": {
                        "question": {
                            "required": True,
                            "choiceQuestion": {
                                "type": "RADIO",
                                "options": [
                                    {"value": "1965"},
                                    {"value": "1967"},
                                    {"value": "1969"},
                                    {"value": "1971"}
                                ],
                                "shuffle": True
                            }
                        }
                    },
                },
                "location": {
                    "index": 0
                }
            }
        }]
    }
    
    # Creates the initial form
    result = form_service.forms().create(body=NEW_FORM).execute()
    
    # Adds the question to the form
    question_setting = form_service.forms().batchUpdate(formId=result["formId"], body=NEW_QUESTION).execute()
    
    # Prints the result to show the question has been added
    get_result = form_service.forms().get(formId=result["formId"]).execute()
    print(get_result)
    

Ejecutar la muestra

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

    python3 quickstart.py
    
  2. La primera vez que ejecutes la muestra, se te solicitará que autorices el acceso:

    1. Si aún no has accedido a tu Cuenta de Google, se te solicitará que lo hagas. Si accediste a varias cuentas, selecciona una cuenta para usar en la autorización.
    2. Haz clic en Aceptar.

    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.

Creaste correctamente tu primera aplicación de Python que realiza solicitudes a la API de Formularios de Google.

Próximos pasos