gpt4 book ai didi

google-apps-script - Google Classroom API - 权限被拒绝

转载 作者:行者123 更新时间:2023-12-03 22:26:45 25 4
gpt4 key购买 nike

这是我使用 Google Classroom API 的第一种方法。我正在尝试创建一个脚本来列出每门类(class)的所有者的电子邮件。

我想通过修改快速入门“listCourses()”示例来实现,但是当尝试使用 Classroom.UserProfiles.get(); 获取用户配置文件时;我收到 403 PERMISSION_DENIED 错误。

我检查过列出的每个范围都已包括在内:

        "oauthScopes": [
"https://www.googleapis.com/auth/classroom.courses",
"https://www.googleapis.com/auth/classroom.profile.emails",
"https://www.googleapis.com/auth/classroom.profile.photos",
"https://www.googleapis.com/auth/classroom.rosters",
"https://www.googleapis.com/auth/classroom.rosters.readonly"
]

并且运行脚本的用户在 GSuite 上注册为 super 管理员。

已检查数据访问是否允许共享数据。

这是我正在使用的代码

        function listCourses() {
var response = Classroom.Courses.list();
var courses = response.courses;

if (courses && courses.length > 0) {
for (i = 0; i < courses.length; i++) {
var course = courses[i];
var owner = Classroom.UserProfiles.get(course.ownerId).emailAddress;

Logger.log('%s (%s) - o: %s - stat: %s', course.name, course.id, owner, course.courseState);

}
} else {

Logger.log('No courses found.');
}

}

据我所知,这应该让我获得类(class)列表、他们的 ID 号、所有者的电子邮件和类(class)状态。

但是执行在 UserProfile.get() 行停止并且程序停止并出现 403 错误。

有谁知道问题是什么以及如何解决?非常感谢。

最佳答案

发布文档。

可能发生的情况是一个或多个类所有者可能不在域中。如果是这种情况,请尝试使用 Classroom.UserProfiles.get() 获取他们的信息。你应该看看this documentation在这个特定问题上测试 get 方法 here查看特定用户是否失败。

显然是这样,OP 确认确实从域中删除了一些用户。

关于google-apps-script - Google Classroom API - 权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57676601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com