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

问题描述 投票:0回答:1

我正在实施google的课堂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
python google-oauth google-classroom scopes
1个回答
0
投票

你必须确保 https://www.googleapis.com/auth/classroom.rosters 这个作用域存在于您的域范围授权和您的请求作用域中。链接

© www.soinside.com 2019 - 2024. All rights reserved.