我想获取老师在Google课堂中特定课程中发布的每项作业的作业标题。有人可以帮我弄这个吗?当我在官方网站上尝试API Explorer时,它返回正确的结果,但不适用于我的python文件。
service = build('classroom', 'v1', credentials=creds)
# Call the Classroom API
results = service.courses().courseWork().get(courseId).execute()
courses = results.get('courses')
if not courses:
print('No courses found.')
else:
print('Courses:')
for course in courses:
print(course)
虽然您已经接受了答案,但我认为遇到相同问题的其他人可能无法以此为基础解决他们的问题。因此,我也发布了答案。
您没有指定遇到的特定问题/遇到了什么错误(您刚刚说过it doesn't work
),但是共享的代码不正确:
如果要使用courses.courseWork.get,则必须至少提供forcourseId
和for两个参数id
(称为作业ID),因此应如下所示:
service.courses().courseWork().get(courseId=courseId, id=courseWorkId).execute()
但是,由于您要获取课程中所有作业的作业标题(而不是单个作业),因此应改用courses.courseWork.list。您的代码应如下所示(title
每个作业的标题在哪里):
courseWorkList = service.courses().courseWork().list(courseId=courseId).execute()
for courseWork in courseWorkList["courseWork"]:
title = courseWork["title"]
print(title)
而且,如果分配的数量很大,则可能需要使用pageToken
和nextPageToken,并在循环中调用此方法。
如果您正在使用list
,则需要指定任何这些范围。否则,您无权访问此资源:
https://www.googleapis.com/auth/classroom.coursework.students.readonly
https://www.googleapis.com/auth/classroom.coursework.me.readonly
https://www.googleapis.com/auth/课堂。课程工作。学生
https://www.googleapis.com/auth/classroom.coursework.me
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句