从 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
块中以处理请求中的失败。
我已经成功从课堂上获取课程和学生提交列表。
我现在想获取学生的电子邮件地址,而不是使用学生提交的用户 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
块中以处理请求中的失败。