2017-05-10 5 views
0

私は教室から受講者リストと受講リストを正常に取得できました。userIDから学生のメールを受け取ります

私は、studentsubmissionが返すuserIDを使用するのではなく、学生の電子メールアドレスを取得したいと考えています。私は、テスト教室での1人の学生と1人の生徒持って期待通り

<googleapiclient.http.HttpRequest object at 0x0000000003F9C048> TURNED_IN 


https://developers.google.com/classroom/guides/manage-usersは非常に有効そう=

次のような出力になり
studentEmail = service.userProfiles().get(userId = student['userId']) 

を、このラインを使用してuserProfiles.get使用語ります仕事を終えたしかし、それは明らかに電子メールアドレスではありません! get()でどうすればいいですか?私は試しました

get().getEmailaddress() 

しかし、それは動作していないと私のために少し曖昧です。

ありがとうございます。私のループは今

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) 

これがもたらしたこの 学生= studentSubmissionResults.get( 'studentSubmissions'、[])のように見えるよう

EDIT ***

は、変更のカップルを作っ不十分なスコープエラーですが、私はすべてのスコープをuserProfile.get()ページで提案していますか? ? ? ?

答えて

0

ドキュメントから、あなたがuserProfiles.get(userId)呼び出しの結果に

.get('emailAddress') 

を使用する必要があります表示されます。

さらに、この呼び出しをtry-exceptブロックにラップして、リクエストの失敗を処理する必要があります。

+0

私は思ったものの、私が試したどのような組み合わせも、「オブジェクトは属性がありません」というエラーで終了するようです。 –

+0

だから私はいくつかの変更を加えました –

+0

OK Pedroを正しいものとしてマークします。結果にはget()といくつかのスコープの変更があります。それから、スコープの変更を許可する権限をもう一度与えなければなりませんでした。 –

関連する問題