2016-04-05 12 views
1

Herhangi bir e-posta adresi içermeyen ve kullanıcı adı "Bilinmeyen Kullanıcı" değerini içeren Google'dan öğrenci JSON'u edinme.Google Classroom API, e-posta adresi olmayan JSON öğrenci profilini döndürür

{ 
    "courseId":"1234", 
    "profile":{//No email address 
      "id":"openId", 
      "name":{"fullName":"Unknown user"},//Why "Unknown user" 
      "photoUrl":"correct_url" 
    }, 
    "userId":"openId" 
} 

Öğretmenin Google Classroom hesabına erişemiyoruz, bu nedenle sorunu test hesabıyla yeniden oluşturmaya çalışıyoruz. Sadece birkaç kullanıcı için, diğer tüm insanlar için iyi çalışıyor.

Google Classroom'un Java API'sini kullanıyoruz. kullandığımız

örnek kod: E-posta adresi öğrenci için boş olabilir senaryoyu bilmek

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 
      } 
     } 
    } 
} 

İhtiyacı, teknik olarak boş olmamalıdır.

Örnek öğrenci profili JSON referansı: kullanıcının kimliği doğrulanırken https://developers.google.com/classroom/reference/rest/v1/userProfiles#resource-userprofile

Kapsamları talep: e-posta adreslerini sahip olmak için

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

cevap

1

Kullanıcı silindi mi? Bazı durumlarda, kullanıcı silindiyse, API "Bilinmeyen kullanıcı" ile bir "kullanıcı" ve (e-posta adresi olmayan) bir kullanıcı döndürecektir.

0

özel https://www.googleapis.com/auth/classroom.profile.emails OAuth kapsamını istemeniz gerekir döndü .

+0

Bunu zaten yapıyorsanız, sorunu güncelleştirin. Daha önce de belirttiğim gibi, kod diğer tüm kullanıcılar için iyi çalışıyor, bu yüzden kapsam sorunu olmamalı. – saurav