首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >classroom.profile.emails所需授权

classroom.profile.emails所需授权
EN

Stack Overflow用户
提问于 2015-08-06 02:01:58
回答 1查看 721关注 0票数 1

我正在使用Google脚本开发一个web应用程序,我在理解授权是如何处理的方面遇到了一些困难。当以用户身份访问web应用程序时,它会提示用户授权,一切看起来都很好。然而,我打电话给userProfiles.get,并寻找学生的电子邮件地址,它返回的配置文件没有电子邮件。

代码语言:javascript
复制
function classRosters() {
  var teacher = Classroom.UserProfiles.get(Session.getActiveUser().getEmail());
  var classList = Classroom.Courses.list({teacherId: teacher.id}).courses;
  var classes = [];

  for (i in classList) {
    if (classList[i].courseState != 'ACTIVE') {
      continue;
    }
    var class = classList[i];
    var classId = classList[i].id;
    var className = classList[i].name;
    classes.push([className]);
    var teacherId = Classroom.Courses.Teachers.get(classId, classList[i].ownerId).userId;
    var teacherEmail = Classroom.UserProfiles.get(teacherId);


      var title = Classroom.Courses.get(classId).name;
      var students = Classroom.Courses.Students.list(classId).students;
      var studentArray = [];
      if (students) {
        for (j in students) {
          var currStudent = students[j];
          var email = Classroom.UserProfiles.get(currStudent.userId).emailAddress;
          var email = Classroom.Courses.Students.get(classId, currStudent.userId).profile.emailAddress;
          studentArray.push(email);
          Logger.log(email);
        }
      }
      for (j in classes) {
        if (className.indexOf(classes[j]) > -1) {
          var classIndex = +j;
          classes[classIndex].push(studentArray);
        } 
      }

  }
  return classes;
}

我已经使用了API,它显示了classroom.profile.email是必需的,但这并不包括在作用域中。当我使用API资源管理器时,我可以授权,它可以工作,我的web应用程序也会工作,直到浏览器的授权到期为止。

是否有任何方法提示在气体库中授权教室高级服务?我找不到任何特定于GAS的东西,而不是整个API的一部分。

谢谢,詹姆斯

EN

回答 1

Stack Overflow用户

发布于 2015-08-06 13:53:32

不幸的是,Apps脚本不允许您为高级服务请求额外的作用域。执行该方法不需要电子邮件和照片范围,但需要在响应中返回电子邮件和照片数据。您可以按照第3070期来了解这个问题的进展情况。

更新2015-08-17

我们刚刚实现了一个解决方案,即教室高级服务现在总是提示输入以下固定的范围:

https://www.googleapis.com/auth/classroom.courses https://www.googleapis.com/auth/classroom.rosters https://www.googleapis.com/auth/classroom.profile.emails https://www.googleapis.com/auth/classroom.profile.photos

这提供了对电子邮件的访问,但确实意味着为给定脚本请求的作用域可能超出了它实际需要的范围。我们希望这能解除试图使用Apps脚本来管理课堂数据的管理员的障碍,而我们则致力于解决Apps脚本中的可选作用域的长期解决方案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31845646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档