Gsuite Classroom Api 无法添加学生和教师

我正在我的域中实施谷歌的课堂 api。正如我正在创建课程的文档所建议的那样。我已经创建了一个服务帐户并为该帐户分配了必要的范围,并且我使用管理员帐户作为委托帐户。该文件指出管理员可以直接创建课程,我的课程创建系统正在运行。它还说管理员可以直接添加教师和学生。当我尝试将学生或教师添加到课程时,它会抛出一个错误Request had insufficient authentication scopes,但我可以从此链接获得正确的课堂范围。我错过了什么吗?任何建议将不胜感激。


service_credentials = ServiceAccountCredentials.from_p12_keyfile('aServiceAccount.iam.gserviceaccount.com', 

'*.p12', 'notasecret',

scopes=['https://www.googleapis.com/auth/admin.directory.user',

'https://www.googleapis.com/auth/classroom.courses', 

'https://www.googleapis.com/auth/calendar'])

credentials = service_credentials.create_delegated(

            'anAdmin@domain')

class_service = build('classroom', 'v1',

                              credentials=credentials)

directory_service = build('admin', 'directory_v1',

                                  credentials=credentials)

calendar_service = build('calendar', 'v3',

                                 credentials=credentials)

course = {

            'name': 'This is dummy course',

            'section': 'dummy section',

            'descriptionHeading': 'Dummy course',

            'courseState': 'ACTIVE',

            'ownerId': 'anAdmin@domain' # also in the teachers group

        }

response = class_service.courses().create(body=course).execute()

course_id = response.get('id')

course_code = response.get('enrollmentCode')

teacher = {'userId': 'anotherUserFromTeachersGroup@domain'}

class_service.courses().teachers().create(courseId=course_id,body=teacher).execute()

        # error : Request had insufficient authentication scopes

student = {'userId': 'user@domain'}

class_service.courses().students().create(

            courseId=course_id, enrollmentCode=course_code, body=student).execute()

        # error : Request had insufficient authentication scopes


ibeautiful
浏览 81回答 1
1回答

千巷猫影

您必须确保https://www.googleapis.com/auth/classroom.rosters此范围存在于您的域范围委托和您的请求范围中。 关联
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python