问题描述
我想在Tomcat服务器中使用Google Classroom Java API作为REST API。
- 我希望客户端代码生成访问令牌并刷新令牌,然后将其传递给REST API端点。
- 然后,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并将其用于实现目标。请记住,为此步骤激活域范围的委派。如有任何疑问,请随时回信。