Używanie Google Class room Java API na serwerze Tomcat jako pozostałego API

Aug 17 2020

Chcę używać Google Classroom Java API na serwerze Tomcat jako REST API.

  1. 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.
  2. 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

Jacques-GuzelHeron Aug 18 2020 at 09:39

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.