Usando a API Java da sala de aula do Google no servidor Tomcat como uma API restante
Quero usar a API Java do Google Classroom no servidor Tomcat como uma API REST.
- Quero que o código do lado do cliente gere um token de acesso e atualize o token e os transmita aos pontos de extremidade da API REST.
- A API REST então usa o token acima para chamar o seguinte código para obter a lista de cursos:
objectOf(Classroom).courses().list().setPageSize(100).execute();
Estou criando o Classroom da seguinte forma, onde .getCredentials()usa GoogleAuthorizationCodeFlow.Builderpara criar a credencial necessária, mas abre uma janela do navegador para autorizar o usuário e obter o token. Isso não funciona para mim.
NetHttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
Classroom classRoom = new Classroom.Builder(httpTransport, JSON_FACTORY, getCredentials(httpTransport))
.setApplicationName(APPLICATION_NAME).build();
Respostas
Entendo que você deseja receber tokens de atualização e acesso para usá-los posteriormente no Google Sala de aula; e você deseja executar esta operação de um servidor. Se isso estiver correto, você precisará fazer o login como sua conta para provar sua identidade e receber as credenciais, mas existem algumas alternativas.
Como você executará o código de um servidor, poderá seguir estas etapas para criar suas credenciais. Essas credenciais precisam ser salvas na pasta de trabalho uma vez e podem ser lidas a cada execução.
Como alternativa, você pode criar uma conta de serviço e usá-la para atingir seus objetivos se quiser interagir com o Sala de aula como um usuário diferente da sua organização. Lembre-se de ativar a delegação de todo o domínio para esta etapa. Não hesite em responder se tiver alguma dúvida.