Używanie Google Class room Java API na serwerze Tomcat jako pozostałego API
Chcę używać Google Classroom Java API na serwerze Tomcat jako REST API.
- Chcę, aby kod po stronie klienta generował token dostępu i odświeżał token i przekazywał je do punktów końcowych interfejsu API REST.
- Następnie interfejs API REST używa powyższego tokenu, aby wywołać następujący kod w celu uzyskania listy kursów:
objectOf(Classroom).courses().list().setPageSize(100).execute();
Tworzę Classroom w następujący sposób, gdzie .getCredentials()używa GoogleAuthorizationCodeFlow.Builderdo utworzenia wymaganego poświadczenia, ale otwiera okno przeglądarki, aby autoryzować użytkownika i uzyskać token. To nie działa dla mnie.
NetHttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
Classroom classRoom = new Classroom.Builder(httpTransport, JSON_FACTORY, getCredentials(httpTransport))
.setApplicationName(APPLICATION_NAME).build();
Odpowiedzi
Rozumiem, że chcesz otrzymywać tokeny dostępu i odświeżać je, aby później używać ich w Classroom; i chcesz uruchomić tę operację z serwera. Jeśli to prawda, musisz zalogować się na swoje konto, aby potwierdzić swoją tożsamość i otrzymać poświadczenia, ale jest kilka alternatyw.
Ponieważ zamierzasz wykonać kod z serwera, możesz wykonać następujące kroki, aby utworzyć swoje poświadczenia. Te poświadczenia muszą zostać zapisane w folderze roboczym raz i można je odczytać przy każdym uruchomieniu.
Możesz też utworzyć konto usługi i używać go do osiągania swoich celów, jeśli chcesz korzystać z Classroom jako inny użytkownik w Twojej organizacji. Pamiętaj, aby na tym etapie aktywować delegację w całej domenie. Nie wahaj się i odpisz, jeśli masz jakieś pytania.