学生提交返回的奇怪 UserId
Weird UserId Returned By Student Submission
我一直在尝试获取提交对简短回答作业的回复的用户的电子邮件。在我使用 Google 课堂 API 的所有其他经历中,“userId”参数一直是学生的电子邮件地址,但是当我在 StudentSubmission 对象上调用 getUserId 时,我得到一串奇怪的数字。我如何获得与提交的回复关联的电子邮件?
这是我的参考代码:
ListStudentSubmissionsResponse submissionResponse = service.courses().courseWork().studentSubmissions().list(courseId, assignmentId).execute();
List<StudentSubmission> submissions = submissionResponse.getStudentSubmissions();
for (StudentSubmission sub : submissions)
{
System.out.println(sub.getId() + "\t" + sub.getUserId() + "\t" + sub.getState());
}
这是我得到的回复:
Cg4I2vWq_8IDEIWck4DDAw 108878473486432178050 CREATED
有人知道这是怎么回事吗?
有关于此的已发布文档API...无需在此询问:https://developers.google.com/classroom/reference/rest
更具体地说,有 userProfile APIs 区分“id”和“emailAddress”。
https://developers.google.com/classroom/reference/rest/v1/userProfiles
话虽如此,根据 JSON 架构并没有任何保证,它只是一个“字符串”类型……至于值可能是什么。
“emailAddress”应该就是那个,但“id”可以是本地系统用来识别主体的任何东西——这几乎肯定不会是电子邮件地址。它将成为正在使用的任何主要管理系统的一些全局标识符。
不要不阅读文档:retrieve_student_responses
Students are identified by the unique ID or email address of the user, as returned by the Google Admin SDK.
所以显然不能保证它会 return 电子邮件..
如果您阅读文档,您可以找到如何正确检索学生 ID 的电子邮件:retrieve_a_users_profile
To retrieve the abridged profile, including ID and name, for a user, call userProfiles.get()
with the user's ID, email, or "me" for the requesting user.
To retrieve the emailAddress
field, you must include the classroom.profile.emails
scope.
我一直在尝试获取提交对简短回答作业的回复的用户的电子邮件。在我使用 Google 课堂 API 的所有其他经历中,“userId”参数一直是学生的电子邮件地址,但是当我在 StudentSubmission 对象上调用 getUserId 时,我得到一串奇怪的数字。我如何获得与提交的回复关联的电子邮件?
这是我的参考代码:
ListStudentSubmissionsResponse submissionResponse = service.courses().courseWork().studentSubmissions().list(courseId, assignmentId).execute();
List<StudentSubmission> submissions = submissionResponse.getStudentSubmissions();
for (StudentSubmission sub : submissions)
{
System.out.println(sub.getId() + "\t" + sub.getUserId() + "\t" + sub.getState());
}
这是我得到的回复:
Cg4I2vWq_8IDEIWck4DDAw 108878473486432178050 CREATED
有人知道这是怎么回事吗?
有关于此的已发布文档API...无需在此询问:https://developers.google.com/classroom/reference/rest
更具体地说,有 userProfile APIs 区分“id”和“emailAddress”。
https://developers.google.com/classroom/reference/rest/v1/userProfiles
话虽如此,根据 JSON 架构并没有任何保证,它只是一个“字符串”类型……至于值可能是什么。
“emailAddress”应该就是那个,但“id”可以是本地系统用来识别主体的任何东西——这几乎肯定不会是电子邮件地址。它将成为正在使用的任何主要管理系统的一些全局标识符。
不要不阅读文档:retrieve_student_responses
Students are identified by the unique ID or email address of the user, as returned by the Google Admin SDK.
所以显然不能保证它会 return 电子邮件..
如果您阅读文档,您可以找到如何正确检索学生 ID 的电子邮件:retrieve_a_users_profile
To retrieve the abridged profile, including ID and name, for a user, call
userProfiles.get()
with the user's ID, email, or "me" for the requesting user.To retrieve the
emailAddress
field, you must include theclassroom.profile.emails
scope.