首页 > 解决方案 > PHP 谷歌课堂 API list_classes

问题描述

我在使用 PHP 进行 Google API 集成时遇到问题。

下面的代码将拉取类,但它会拉取所有类(ACTIVE、ARCHIVED、ETC...)。我只想要活动课程。

问题是当我添加 courseStates 参数时,它说它不存在

$service = new Google_Service_Classroom($client);
            $courses = '';

            $optParams = array(
//none of these seem to work
              //'courseStates' => 'ACTIVE',
              //'courseState' => 'ACTIVE',
              //'CourseStates' => 'ACTIVE',
              'pageSize' => 50,
              'studentId' => $user_email
            );
            $results = $service->courses->listCourses($optParams);

            if (count($results->getCourses()) == 0) {
             // print "No courses found.\n";
            } else {
             // print "Courses:\n";
              foreach ($results->getCourses() as $course) {
                                $courses .= $course->getName()."<br />";//." ". $course->getId();

                //printf("%s (%s)\n", $course->getName(), $course->getId());
              }
            }

方法在这里,但显示的选项都不起作用 https://developers.google.com/classroom/reference/rest/v1/courses/list

标签: phpapigoogle-classroom

解决方案


  $results = $service->courses->listCourses($optParams);
if (count($results->getCourses()) == 0) {
    // print "No courses found.\n";
} else {
    // print "Courses:\n"; 
    
    $insert_array_fill = '';
    $select_array_fill = '';
    foreach ($results->getCourses() as $course) {
        // 
        //echo "<hr>";
        if(strcmp($course->getCourseState(), 'ACTIVE') == 0){
            
            $courses .= $course->getName()." - ".$course->getId()." - ".$course->getAlternateLink()." - ".$course->getOwnerId()."<br />";//." ". $course->getId();
        }
    }
}

推荐阅读