Utilizzo dell'API Java di Google Class room nel server Tomcat come API resto

Aug 17 2020

Voglio utilizzare l'API Java di Google Classroom nel server Tomcat come API REST.

  1. Desidero che il codice lato client generi un token di accesso e un token di aggiornamento e li passi agli endpoint dell'API REST.
  2. L'API REST utilizza quindi il token sopra per chiamare il codice seguente per ottenere l'elenco dei corsi: objectOf(Classroom).courses().list().setPageSize(100).execute();

Sto creando la Classroom come segue, dove .getCredentials()utilizza GoogleAuthorizationCodeFlow.Builderper creare le credenziali richieste, ma si apre una finestra del browser per autorizzare l'utente e ottenere il token. Questo non funziona per me.

NetHttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
    Classroom classRoom = new Classroom.Builder(httpTransport, JSON_FACTORY, getCredentials(httpTransport))
            .setApplicationName(APPLICATION_NAME).build();

Risposte

Jacques-GuzelHeron Aug 18 2020 at 09:39

Mi risulta che desideri ricevere token di accesso e aggiornamento per utilizzarli in seguito in Classroom; e vuoi eseguire questa operazione da un server. Se è corretto, dovresti accedere come tuo account per dimostrare la tua identità e ricevere le credenziali, ma ci sono alcune alternative.

Dato che stai per eseguire il codice da un server, puoi seguire questi passaggi per creare le tue credenziali. Queste credenziali devono essere salvate nella cartella di lavoro una volta e possono essere lette a ogni corsa.

In alternativa, puoi creare un account di servizio e utilizzarlo per raggiungere i tuoi obiettivi se desideri interagire con Classroom come un utente diverso della tua organizzazione. Ricordati di attivare la delega a livello di dominio per questo passaggio. Non esitare a ricontattarci in caso di domande.