在Tomcat服务器中将Google Class room Java API用作其他API

问题描述

我想在Tomcat服务器中使用Google Classroom Java API作为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();

解决方法

我了解到您希望获得访问权限并刷新令牌以供以后在课堂中使用它们;并且您想从服务器运行此操作。如果正确的话,则需要以您的帐户登录以证明您的身份并接收凭据,但是还有其他选择。

由于要从服务器执行代码,因此可以按照these steps创建凭据。这些凭据需要一次保存在您的工作文件夹中,并且可以在每次运行时读取。

或者,如果您想作为组织的其他用户与Classroom进行交互,则可以创建service account并将其用于实现目标。请记住,为此步骤激活域范围的委派。如有任何疑问,请随时回信。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...