library(googleclassroom)
library(dplyr)
library(googleAuthR)

Client Auth

Para pegar uma GOOGLE_AUTH_R_CLIENT_ID e GOOGLE_AUTH_R_CLIENT_SECRET precisa ir ao Google Cloud Platform e gerar uma account service. Account services são usuários como se fossem pessoas normais, mas servem para autenticar em API’s.

options(
  googleAuthR.client_id = Sys.getenv("GOOGLE_AUTH_R_CLIENT_ID"),
  googleAuthR.client_secret = Sys.getenv("GOOGLE_AUTH_R_CLIENT_SECRET")
)

Criar o curso

Autenticacao no scope

options(googleAuthR.scopes.selected = c("https://www.googleapis.com/auth/classroom.courses"))
gar_auth(email = "adamiani@curso-r.com")
#> 2020-05-06 18:36:06> Setting client.id from options(googleAuthR.client_id)

Config do curso

new_course <- gc_course(
  name = "Teste R client API 444",
  ownerId = "me",
  courseState = "ACTIVE",
  section = "Section A",
  descriptionHeading = "Description Heading A",
  description = "Description A",
  room = "Room A"
)

cria o curso

infos_do_curso_criado <- gc_courses_create(new_course)
glimpse(infos_do_curso_criado)
#> List of 16
#>  $ id                : chr "82861596620"
#>  $ name              : chr "Teste R client API 444"
#>  $ section           : chr "Section A"
#>  $ descriptionHeading: chr "Description Heading A"
#>  $ description       : chr "Description A"
#>  $ room              : chr "Room A"
#>  $ ownerId           : chr "114725054728125690403"
#>  $ creationTime      : chr "2020-05-06T21:36:09.454Z"
#>  $ updateTime        : chr "2020-05-06T21:36:08.540Z"
#>  $ enrollmentCode    : chr "22zqlms"
#>  $ courseState       : chr "ACTIVE"
#>  $ alternateLink     : chr "https://classroom.google.com/c/ODI4NjE1OTY2MjBa"
#>  $ teacherGroupEmail : chr "Teste_R_client_API_444_Section_A_teachers_97d69cd2@curso-r.com"
#>  $ courseGroupEmail  : chr "Teste_R_client_API_444_Section_A_0d81185a@curso-r.com"
#>  $ teacherFolder     :List of 1
#>   ..$ id: chr "0B0dfgmCJ_cgpfm5SMFJLTmsxZUtPcmpVUGIzX2JXNk0xZVFjazM5aVpUZTR2X0hLcGFaU2M"
#>  $ guardiansEnabled  : logi FALSE

Consulta dos dados do curso

gc_courses_list()[[1]] %>% select(name, section)
#>                                      name                 section
#> 1                  Teste R client API 444               Section A
#> 2                  Teste R client API 444               Section A
#> 3                  Teste R client API 333                    <NA>
#> 4                 Teste R client API 2222                    <NA>
#> 5                      Teste R client API                    <NA>
#> 6               R para Ciência de Dados I   Turma de maio de 2020
#> 7    Introdução ao Machine Learning com R  Turma de junho de 2020
#> 8                     Deep Learning com R   Turma de maio de 2020
#> 9               R para Ciência de Dados I   Turma de maio de 2020
#> 10                                 Deploy                    <NA>
#> 11                         Web Scraping 2              25/04/2020
#> 12                                XGboost   Turma de Maio de 2020
#> 13       R para Ciência de Dados, parte 2 25/04/2020 - 13/05/2020
#> 14                       Dashboards com R  Turma de junho de 2020
#> 15 Introdução ao Machine Learning com o R                    <NA>
#> 16                         Web Scraping 1              28/03/2020

deleta o curso

gc_courses_delete(infos_do_curso_criado$id)
#> named list()