从 userID 获取学生邮箱

Get student email from userID

我已经成功从课堂上获取课程和学生提交列表。

我现在想获取学生的电子邮件地址,而不是使用学生提交的用户 ID returns。
https://developers.google.com/classroom/guides/manage-users 非常有用地说使用 userProfiles.get 所以使用这一行 =

studentEmail = service.userProfiles().get(userId = student['userId'])

这导致以下输出:

<googleapiclient.http.HttpRequest object at 0x0000000003F9C048> TURNED_IN

不出所料,我有1名学生在测试教室,1名学生完成了作业。但这显然不是电子邮件地址! 那么我需要用我的 get() 做什么?我试过了

get().getEmailaddress()

但这似乎不起作用,文档对我来说有点模糊。

提前致谢。

编辑 ***

进行了一些更改,因此我的循环现在看起来像这样 学生 = studentSubmissionResults.get('studentSubmissions', [])

for student in students:
    studentId = service.userProfiles().get(userId = 
                student['userId']).execute()
    studentEmail = studentId.get('emailAddress').execute()
    assignmentState = student['state']
    print('The following students have completed the work:\n', studentEmail 
           , assignmentState )

这导致了范围不足的错误,但我有 userProfile.get() 页面上建议的所有范围? ? ? ?

根据文档,您似乎应该使用

.get('emailAddress')

关于 userProfiles.get(userId) 调用的结果。

此外,您应该将此调用包装在 try-except 块中以处理请求中的失败。