Guía de inicio rápido de Python

Completa los pasos que se describen en el resto de esta página para crear una aplicación de línea de comandos de Python simple que realice solicitudes a la API de Classroom.

Prerequisites

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

  • Python 2.6 o superior
  • La herramienta de administración de paquetes pip
  • Un proyecto de Google Cloud Platform con la API habilitada. Para crear un proyecto y habilitar una API, consulta Cómo crear un proyecto y habilitar la API.
  • Credenciales de autorización para una aplicación de escritorio. Si quieres aprender a crear credenciales para una aplicación de escritorio, consulta Crea credenciales.

  • Una cuenta de G Suite for Education con Google Classroom habilitado

Paso 1: Instala la biblioteca cliente de Google

Si quieres instalar la biblioteca cliente de Google para Python, ejecuta el siguiente comando:

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

Consulta las opciones de instalación alternativas en la sección Instalación de la biblioteca de Python.

Paso 2: Configura la muestra

Para configurar la muestra, haz lo siguiente:

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

    Classroom/quickstart/quickstart.py.
    from __future__ import print_function
    
    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/classroom.courses.readonly']
    
    
    def main():
        """Shows basic usage of the Classroom API.
        Prints the names of the first 10 courses the user has access to.
        """
        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('classroom', 'v1', credentials=creds)
    
            # Call the Classroom API
            results = service.courses().list(pageSize=10).execute()
            courses = results.get('courses', [])
    
            if not courses:
                print('No courses found.')
                return
            # Prints the names of the first 10 courses.
            print('Courses:')
            for course in courses:
                print(course['name'])
    
        except HttpError as error:
            print('An error occurred: %s' % error)
    
    
    if __name__ == '__main__':
        main()

Paso 3: Ejecuta la muestra

Realiza lo siguiente para ejecutar la muestra:

  1. Desde la línea de comandos, ejecute el siguiente comando:

    python quickstart.py
    
  2. (opcional). Si es la primera vez que ejecutas la muestra, esta se abrirá en una ventana nueva para que autorices el acceso a tus datos:

    1. Si aún no accediste a tu Cuenta de Google, se te solicitará que lo hagas. Si accediste a varias Cuentas de Google, se te pedirá que selecciones una cuenta para usar en la autorización.
    1. Haz clic en Aceptar. La app está autorizada a acceder a tus datos.
  3. Se ejecuta la muestra.

Si tienes problemas, consulta la sección Solución de problemas de la muestra.

Soluciona problemas de la muestra

En esta sección, se describen algunos problemas comunes que pueden ocurrir mientras intentas ejecutar esta guía de inicio rápido y se sugieren posibles soluciones.

AttributeError: 'Module_six_moves_urllib_parse' object has no attribute 'urlparse'

Este error puede ocurrir en Mac OSX, en el que la instalación predeterminada del módulo six (una dependencia de la biblioteca de Python) se carga antes de la que se instala con el pip. Para solucionar el problema, agrega la ubicación de instalación de pip a la variable de entorno del sistema PYTHONPATH:

  1. Determina la ubicación de instalación de pip con el siguiente comando:

    pip show six | grep "Location:" | cut -d " " -f2
    
  2. Agrega la siguiente línea a tu archivo ~/.bashrc y reemplaza <pip_install_path> por el valor determinado antes:

    export PYTHONPATH=$PYTHONPATH:<pip_install_path>
    
  3. Vuelve a cargar el archivo ~/.bashrc en cualquier ventana de la terminal abierta con el siguiente comando:

    source ~/.bashrc
    

TypeError: sequence item 0: expected str instance, bytes found

Este error se debe a un error en httplib2. Para resolver este problema, actualiza a la versión más reciente de httplib2 con el siguiente comando:

pip install --upgrade httplib2

Cannot uninstall 'six'

Cuando ejecutes el comando pip install, es posible que recibas el siguiente error:

No se puede desinstalar el &sexo' Se trata de un proyecto instalado con distutils y, por lo tanto, no podemos determinar con precisión qué archivos pertenecen a él, lo que daría como resultado una desinstalación parcial.

Este error se produce en Mac OSX cuando pip intenta actualizar el paquete six preinstalado. Para solucionar este problema, agrega la marca --ignore-installed six al comando pip install que se muestra en el paso 2.

This app isn't verified

Si en la pantalla de consentimiento de OAuth se muestra la advertencia "Esta app no se verificó", significa que esta solicita permisos que proporcionan acceso a datos sensibles del usuario. Si tu aplicación usa permisos sensibles, debe someterse al proceso de verificación para quitar esa advertencia y otras limitaciones. Durante la fase de desarrollo, puedes continuar con esta advertencia si seleccionas Advanced &gt, Go to {Project Name}(no seguro).

File not found error for credentials.json

Cuando ejecutes el ejemplo, es posible que recibas un archivo no encontrado o que no haya ningún error de archivo relacionado con credenciales.json.

Este error se produce cuando no autorizas las credenciales de la aplicación de escritorio como se detalla en la sección Requisitos previos anterior. Si quieres obtener más información sobre cómo crear credenciales para una aplicación de escritorio, ve a Crea credenciales.

Una vez que crees las credenciales, asegúrate de que el archivo JSON descargado se guarde como credentials.json. Luego, mueve el archivo al directorio de trabajo con el resto del código de inicio rápido de muestra.

Lecturas adicionales

Para obtener más información sobre las API que se usan en esta guía de inicio rápido, consulta lo siguiente: