Использование API Java для комнаты классов Google в Tomcat Server в качестве API отдыха

Aug 17 2020

Я хочу использовать Java API Google Classroom в Tomcat Server в качестве REST API.

  1. Я хочу, чтобы код на стороне клиента генерировал токен доступа и обновлял токен и передавал их конечным точкам REST API.
  2. Затем REST API использует указанный выше токен для вызова следующего кода, чтобы получить список курсов: objectOf(Classroom).courses().list().setPageSize(100).execute();

Я создаю Класс следующим образом, где .getCredentials()используется GoogleAuthorizationCodeFlow.Builderдля создания необходимых учетных данных, но он открывает окно браузера для авторизации пользователя и получения токена. У меня это не работает.

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

Ответы

Jacques-GuzelHeron Aug 18 2020 at 09:39

Я понимаю, что вы хотите получать токены доступа и обновления, чтобы в дальнейшем использовать их в Классе; и вы хотите запустить эту операцию с сервера. Если это верно, вам нужно будет войти в систему под своей учетной записью, чтобы подтвердить свою личность и получить учетные данные, но есть несколько альтернатив.

Поскольку вы собираетесь выполнить код с сервера, вы можете выполнить следующие действия, чтобы создать свои учетные данные. Эти учетные данные необходимо сохранить в вашей рабочей папке один раз, и их можно будет прочитать при каждом запуске.

В качестве альтернативы вы можете создать учетную запись службы и использовать ее для достижения своих целей, если вы хотите взаимодействовать с Классом как другой пользователь вашей организации. Не забудьте активировать делегирование домена на этом этапе. Не стесняйтесь отвечать, если у вас есть вопросы.