为了账号安全,请及时绑定邮箱和手机立即绑定

PHP Google Classroom API list_classes

PHP Google Classroom API list_classes

PHP
哈士奇WWW 2023-08-11 15:59:36
我在使用 PHP 进行 Google API 集成时遇到问题。下面的代码将拉出这些类,但它会拉出所有类(ACTIVE、ARCHIVED等...)。我只想要活跃课程。问题是当我添加 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
查看完整描述

3 回答

?
扬帆大鱼

TA贡献1799条经验 获得超9个赞

  $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();

        }

    }

}


查看完整回答
反对 回复 2023-08-11
?
皈依舞

TA贡献1851条经验 获得超3个赞

所选解决方案不正确。问题是您拼错了键(courseState而不是courseState s,缺少s)。

应该 -

'courseStates'  => 'ACTIVE'

此答案与 Google API v2.4.0 版本相关。


查看完整回答
反对 回复 2023-08-11
?
RISEBY

TA贡献1856条经验 获得超5个赞

解决方案

变量CourseState的类型为Enum和 not String,因此,它必须作为 an 访问enum,而不是作为string。将以下内容添加到optParams

'courseState' => 'courseState::ACTIVE',

我希望这对你有帮助。如果您需要其他任何信息或者您不明白某些内容,请告诉我。:)


查看完整回答
反对 回复 2023-08-11
  • 3 回答
  • 0 关注
  • 83 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信