從Google獲取不包含任何電子郵件地址的學生JSON,並且用戶的姓名包含值「未知用戶」。Google課堂API返回沒有電子郵件地址的學生資料JSON
{
"courseId":"1234",
"profile":{//No email address
"id":"openId",
"name":{"fullName":"Unknown user"},//Why "Unknown user"
"photoUrl":"correct_url"
},
"userId":"openId"
}
我們無法訪問教師的Google課堂帳戶,因此我們試圖用測試帳戶重現問題。它只發生在少數用戶身上,對所有其他人都適用。
我們使用Google Classroom的Java API。
示例代碼,我們使用:
Classroom service = getGoogleClassRoomService(accessToken);
if(service != null) {
ListStudentsResponse studentsResponse = service.courses().students().list(courseId).execute();
List<Student> students = studentsResponse.getStudents();
if(students != null) {
for (Student student : students) {
if (student.getProfile().getEmailAddress() != null) {
//Processing student data
}
}
}
}
需要知道什麼時候電子郵件地址爲空的學生的情況,在技術上它不能爲空。
例學生檔案JSON參考:https://developers.google.com/classroom/reference/rest/v1/userProfiles#resource-userprofile
斯科普斯要求,同時對用戶進行認證:
https://www.googleapis.com/auth/classroom.courses.readonlyhttps://www.googleapis.com/auth/classroom.profile.emailshttps://www.googleapis.com/auth/classroom.profile.photoshttps://www.googleapis.com/auth/classroom.rosters.readonly
已經這樣做,更新了問題。正如我已經提到,代碼適用於所有其他用戶,所以它不應該是範圍問題。 – saurav