首页 > 解决方案 > 无法从 Google 课堂学生资料中接收电子邮件

问题描述

我正在尝试编写一个 PHP 例程来将 Google Classroom 注册数据导入我们的数据库。这是我的范围:

$client->setScopes([Google_Service_Classroom::CLASSROOM_COURSES_READONLY, Google_Service_Classroom::CLASSROOM_ROSTERS_READONLY, Google_Service_Classroom::CLASSROOM_PROFILE_EMAILS]);

然后我正在尝试浏览班级注册数据。(我在我的个人 Google 帐户中开设了一个课程,并让一些同事注册了该课程。)我正在获取个人资料,但 emailAddress 始终为空白:

$results = $service->courses->listCourses();
foreach ($results->getCourses() as $course) {
    $roster = $service->courses_students->listCoursesStudents($course->id);
    foreach ($roster['students'] as $student) {
        $profile = $student['profile'];
        $name = $profile['name'];            // Works
        $first_name = $name['givenName'];    // Works
        $email = $profile['emailAddress'];   // Always null
    }
}

我错过了什么?

标签: google-apis-explorergoogle-classroom

解决方案


这已经神秘地开始起作用了......这并没有让我感觉很好,但你知道那种感觉,对吧?没有办法让问题再次出现,所以你只需要希望它不会......如果是这样,我会再次在这里发布。

也许这与我们刚刚用新的范围重新填充表单有关。因此,目前,我在连接之前收到“Google 尚未验证该应用程序”的警告。所以也许是新的作用域,或者是警告。


推荐阅读