How to determine if a signed in user is a teacher in google classroom?

家住魔仙堡 提交于 2019-12-13 02:55:23

问题


For the app I am building for elementary schools, teachers can access it by logging into their classroom account, but students cannot. How do I determine if a particular user is a teacher?

I noticed that the test teacher account has the permission CREATE_COURSE, but the student does not. Can I assume that is universally true... that if someone has a CREATE_COURSE permission, they are a teacher for some course.


回答1:


As you mentioned above, if you send request to userProfiles, with userId, if in the response you get permissions as create_course, then its teacher. Other wise its student.

{
 "id": string,
 "name": {
 object(Name)
},
"emailAddress": string,
"photoUrl": string,
"permissions": [
{
  object(GlobalPermission)// Here it should be create_course for teacher
 }
],
}



回答2:


A slightly different approach here is list courses with the query parameter: 'teacherId' => 'me'. That way you get all the courses the current user is teaching. If you get 0 results, it means the user is not a teacher anywhere. Anyway, if you just need to know if the user is considered a teacher, it might be more efficient the other way around.




回答3:


Distinguishing teachers from students via the CREATE_COURSE permission may be sufficient for your use case, but note that depending on how the domain's instance of Classroom has been configured, users may be able to self-identify as teachers; see https://support.google.com/edu/classroom/answer/6071551.




回答4:


Just recently, according to https://issuetracker.google.com/issues/36760055, you may use https://developers.google.com/classroom/reference/rest/v1/userProfiles to determine whether the user is teacher

{
  "verifiedTeacher": boolean
}


来源:https://stackoverflow.com/questions/32830670/how-to-determine-if-a-signed-in-user-is-a-teacher-in-google-classroom

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!