jediael.reis Posted July 1, 2022 Share Posted July 1, 2022 Entrei esse mundo há 4 meses, e estou estudando e fazendo uma integração. Sei que tenho pouco conhecimento, mas estou fazer algumas integrações já, mas deis de ontem estou brigando com o código... Estou pegando as Apis do Google WorkSpace e fazendo com o ClassRoom.. Existe alguma forma de deixar mais rápido ?? peguei vários dados do Classroom e joguei no google Planilhas, mas isso demorou 3 horas e 40min e deu 10mil linhas. qualquer coisa posso compartilhar um pedaço do codigo para voces compreenderem. Obrigado Link to comment Share on other sites More sharing options...
jediael.reis Posted July 1, 2022 Author Share Posted July 1, 2022 (edited) from __future__ import print_function from dis import dis from email.charset import add_charset from inspect import isdatadescriptor import os.path from tkinter import ACTIVE from turtle import st from autenticação import Autenticacao 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 import time lista_ids_curso = [] def main(): serviceclass = Autenticacao().serviceclass servicework = Autenticacao().servicework servicesheets = Autenticacao().servicesheets page_token = None while True: response = serviceclass.courses().list(courseStates='ACTIVE', pageSize=0, pageToken=page_token).execute() page_token = response.get('nextPageToken', None) dic_cursos = response['courses'] for dados_cursos in dic_cursos: lista_ids_curso.append(dados_cursos['id']) if not page_token: break contador = 2 for ids_cursos in lista_ids_curso: pegar_materiais = serviceclass.courses().courseWorkMaterials().list(courseId=ids_cursos).execute() try: dados_materiais = pegar_materiais['courseWorkMaterial'] for dic_courseWorkMaterial in dados_materiais: curso_id = dic_courseWorkMaterial['courseId'] id_material = dic_courseWorkMaterial['id'] status = dic_courseWorkMaterial['state'] data_criacao = dic_courseWorkMaterial['creationTime'] titulo = dic_courseWorkMaterial['title'] descricao = dic_courseWorkMaterial['description'] horas_aula = descricao[:3] ## Pegar taxonomias ## try: primeiro_colchete =(descricao.index('(')) teste_col = primeiro_colchete+1 segundo_colchete = (descricao.index(')')) taxonomia = descricao[teste_col:segundo_colchete] except ValueError: pass id_topico = dic_courseWorkMaterial['topicId'] id_professor = dic_courseWorkMaterial['creatorUserId'] ## Pegar nome professor ## pegar_professores = servicework.users().get(userKey=id_professor).execute() dic_name = pegar_professores['name'] nome_professor = dic_name['fullName'] email_professor = pegar_professores['primaryEmail'] ## Pegar nome tópicos ## pegar_topicos = serviceclass.courses().topics().get(courseId=curso_id, id=id_topico).execute() nome_topico = pegar_topicos['name'] ##### sheets ##### print(contador) ID_PLANILHA = 'ID CODIGO' teste1 = str(contador) range = 'materiais_teste!A' + teste1 body = [[curso_id, id_material, status, data_criacao, titulo, descricao, horas_aula, taxonomia, id_topico, id_professor, nome_professor, email_professor, nome_topico]] servicesheets.spreadsheets().values().update(spreadsheetId=ID_PLANILHA, range=range, valueInputOption='USER_ENTERED', body={'values': body}).execute() contador += 1 time.sleep(0.3) except KeyError: pass main() Edited July 1, 2022 by jediael.reis Link to comment Share on other sites More sharing options...
jediael.reis Posted July 1, 2022 Author Share Posted July 1, 2022 os codigos em AMARELO sao os dados que preciso que vá para a planilha Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now