Utilisation de l'API Java Google Class room dans Tomcat Server comme API de repos
Je souhaite utiliser l'API Java Google Classroom dans Tomcat Server en tant qu'API REST.
- Je veux que le code côté client génère un jeton d'accès et un jeton d'actualisation et les transmette aux points de terminaison de l'API REST.
- L'API REST utilise ensuite le jeton ci-dessus pour appeler le code suivant afin d'obtenir la liste des cours:
objectOf(Classroom).courses().list().setPageSize(100).execute();
Je crée la salle de classe comme suit, où .getCredentials()
utilise GoogleAuthorizationCodeFlow.Builder
pour créer les informations d'identification requises, mais cela ouvre une fenêtre de navigateur pour autoriser l'utilisateur et obtenir le jeton. Cela ne fonctionne pas pour moi.
NetHttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
Classroom classRoom = new Classroom.Builder(httpTransport, JSON_FACTORY, getCredentials(httpTransport))
.setApplicationName(APPLICATION_NAME).build();
Réponses
Je comprends que vous souhaitez recevoir des jetons d'accès et d'actualisation pour les utiliser ultérieurement dans Classroom; et vous souhaitez exécuter cette opération à partir d'un serveur. Si cela est correct, vous devrez vous connecter en tant que compte pour prouver votre identité et recevoir les informations d'identification, mais il existe des alternatives.
Puisque vous allez exécuter le code à partir d'un serveur, vous pouvez suivre ces étapes pour créer vos informations d'identification. Ces informations d'identification doivent être enregistrées une fois dans votre dossier de travail et peuvent être lues à chaque exécution.
Vous pouvez également créer un compte de service et l'utiliser pour atteindre vos objectifs si vous souhaitez interagir avec Classroom en tant qu'utilisateur différent de votre organisation. N'oubliez pas d'activer la délégation à l'échelle du domaine pour cette étape. N'hésitez pas à nous répondre si vous avez des questions.