通过课堂 api 和 java 向课程宣布文本

Announce text to course through classroom api with java

我是 Google 课堂 API 集成的新手,想通过课堂 API 在其中一门课程中宣布文本,我完成了 Java 快速入门 here! 它适用于获取所有课程数据,现在我如何实现 announcement() 方法来为学生

创建 post
public static void main(String... args) throws IOException, GeneralSecurityException {
    // Build a new authorized API client service.
    final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
    Classroom service = new Classroom.Builder(HTTP_TRANSPORT, JSON_FACTORY, 
            getCredentials(HTTP_TRANSPORT)).setApplicationName(APPLICATION_NAME).build();
    ListCoursesResponse response = service.courses().list().setPageSize(10).execute();
    List<Course> courses = response.getCourses();
    if (courses == null || courses.size() == 0) {
        System.out.println("No courses found.");
    } else {
        System.out.println("Courses:");
        for (Course course : courses) {
            System.out.println(course.getName());

            //--  How do I create a new announcement?  I tried this getting error ------

            Classroom.Courses.Announcements.Create a = new Classroom.Courses
                            .Announcements.Create().setCourseId("423178037220");

            // -------------------------------
        }
    }
}

毕竟,我遇到了这个错误

com.google.api.services.classroom.Classroom.Courses.Announcements' is not an enclosing class

CreateAnnouncements 的内部 class,也就是说,它隐式包含对 Announcements.

实例的引用

因此您不能创建 Create 的实例,除非在 Announcements.

的实例上下文中

请参阅下面的代码作为一个简单示例:

class Sample {

    public static class Foo {
        // a non-static inner class
        public class Bar {}

        public Bar create() { return new Bar(); }
    }

    public static void main(String[] args) {
       Foo.Bar bar1 = new Foo.Bar(); // this line won't compile
       Foo.Bar bar2 = new Foo().create();
    }
}

您需要在 Announcements 实例上调用 create 方法来创建 Create 实例。 (参见 https://developers.google.com/resources/api-libraries/documentation/classroom/v1/java/latest/com/google/api/services/classroom/Classroom.Courses.Announcements.html#create-java.lang.String-com.google.api.services.classroom.model.Announcement-

尝试:

courses.announcements().create("423178037220", new Announcement())

我自己没有这样做,因为我没有设置 Google 课堂项目。