问题标签 [google-apps-for-education]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1798 浏览

google-apps-script - Google Classroom - 使用应用程序脚本添加学生

有一个带有子域的域 - school.com 和 students.school.com 分别。

我使用谷歌应用脚​​本为每个班级创建了谷歌教室。

现在问题来了,
我正在尝试将教师和学生添加到谷歌教室。
我使用的“超级管理员”帐户在我的主域 (school.com) 中。

因此,我可以将教师添加到教室,但我不能将学生添加到教室,因为它属于子域(students.school.com)

这是我的代码的样子,

当我运行addStudents函数时,出现此错误,

0 投票
1 回答
1667 浏览

single-sign-on - 使用 G Suite 作为 SAML 身份提供者的 Office365/Azure AD

我正在尝试关注文章 https://msdn.microsoft.com/en-us/library/azure/dn641269.aspx https://support.google.com/a/answer/6363817?hl=en

对于域名 school.edu

当我打开一个私人浏览窗口并转到 login.microsoftonline.com 并在我的域中指定一个用户时,我会按预期重定向到 Google 以获取登录名和密码。但是,在输入有效凭据后,我被重定向到 Microsoft 登录页面并出现错误

我收到错误附加技术信息:相关 ID:[已编辑,不确定这是否是敏感 ID] 时间戳:2017-05-11 19:15:31Z AADSTS50107:请求的联合领域对象' https://accounts.google.com /o/saml2?idpid= [id] ' 不存在。

直接访问时,此处列出的 URL 会返回 404,但可以直接访问https://accounts.google.com/o/saml2/idp?idpid= [id](尽管格式错误的 SAML 请求会出错)。我将 idp?idpid=[id] 指定为 Powershell 上的 LogOnUri,但它似乎并没有从那里提取该值。

我不确定如何从这里开始,除了向 Microsoft 开票(可能是一年前,我们上一次尝试通过不同方式尝试 SSO 时,他们无法提供帮助)。

0 投票
3 回答
9987 浏览

google-apps-script - 如何在 Google Apps for Education 中删除警告“此应用程序是由其他用户创建的,而不是由 Google 创建的”

我们在我们的组织中建立了一个基于Google Apps 脚本的 Intranet,它受益于 Google Apps for Education。我们已经使用了几个月:

  • 获取()
  • HtmlService.createTemplate(...)
  • 发布 > 部署为 Web 应用程序和设置:
    1. “将应用程序执行为:” admin@ourdomain.com
    2. “谁有权访问该应用程序:” ourdomain.com 的任何成员

到目前为止一切正常。

然而今天(2017 年 7 月 7 日)要向 Intranet 用户显示的 HTML 页面包含由 Google 在顶部添加的不方便警告,声称此应用程序是由另一个用户创建的,而不是由 Google 创建的。,这真的很烦人。我了解当脚本由未知用户创建时必须显示此警告。但就我而言,我(管理员)正在向我组织的用户提供脚本。

其他过去线程的结论是,去谷歌商业或教育一切都会得到解决。不幸的是,这不再是真的了。

有谁知道如何避免在 Google Apps 脚本中针对我们域中运行我们自己的编码脚本的用户发出此类警告?

0 投票
2 回答
1002 浏览

oauth-2.0 - 使用“使用 Google 登录”时设置默认域

使用此处的 Google 登录说明我们正在实施“使用 Google 登录”按钮。

此实施已成功,但是,我们希望设置除 gmail.com 以外的默认域,因为我们的 Gsuite 将使用该域作为教育用户。这将使用户可以单击登录按钮并只需输入他们的用户名,而不是 username@gSuiteDomain.com

单击此按钮时:

使用 Google 按钮登录

用户被重定向到: 在此处输入图像描述

我们如何使第二个图像默认为我们的 gSuite 域而不是 gmail.com?

0 投票
0 回答
442 浏览

iframe - 在 iframe 使用案例中使用 Google Sheets /copy url 参数

我正在设计一个电子学习应用程序中的练习。我有一个模板 Google 电子表格,可以在软件中将电子表格显示为 iframe。

在此处输入图像描述

文档 URL(它只是一个示例表) https://docs.google.com/spreadsheets/d/1zmZ-oW8lC2Hus-G70O3CkhmGE5qqnoOGmSZMH6x526U/edit?usp=sharing

我了解了/copy可以添加到 url 以生成该文档的副本的参数,以便编辑不会覆盖原始文件。来源:https ://www.makeuseof.com/tag/make-copy-trick-sharing-google-drive-documents/

带有复制参数的电子表格 URL https://docs.google.com/spreadsheets/d/1zmZ-oW8lC2Hus-G70O3CkhmGE5qqnoOGmSZMH6x526U/copy

复印表

但是,当我将该 url 作为 iframe 的源运行时,它会返回一个错误: 在此处输入图像描述

我了解到这不是 iframe 的问题,在 w3 学校 iframe 演示中尝试了 url,结果相同。来源:https ://www.w3schools.com/tags/tryit.asp?filename=tryhtml_iframe

在此处输入图像描述

从这个 StackOverflow 答案中,我相信我了解 iframe 不允许在其中执行 JavaScript,并且我希望 Javascript 被用于生成副本。

答案:谷歌电子表格重定向

我的问题是,最终用户(学生)是否有另一种方法来生成 Google 表格副本 url 并在家庭作业课程中出现在 iframe 中?

期望的结果:

这在 iframe(或等效)中:

复制已启用

并能够将该副本编辑为他们自己的文档

申请中的预期结果

0 投票
0 回答
65 浏览

google-apps-script - 如何在 Google for Education 帐户中启用 Docs 等的脚本编辑器

我犯了一个错误——我尝试使用 Google 表格文件中的代码,而不是 Google 文档。它适用于我创建的新 Google Doc 文件。此请求可以关闭。谢谢你。

*****原始请求如下******虽然 Google doc 脚本的确切文本适用于常规 gmail 帐户文档,但它在 Gmail 教育帐户中失败,我认为我需要更改设置管理控制台(我是管理员。)有谁知道我需要更改的设置是什么?我应该只为自己改变吗?IOW 让我的学生能够在他们的文档中编辑脚本是一个糟糕的选择吗?

这在一个文档中有效,但在另一个文档中无效:

它会在非 edu 帐户中按预期创建一个弹出窗口。在 edu 帐户中,我有时会看到“工作”消息,但没有弹出窗口。

0 投票
2 回答
45 浏览

google-oauth - 某些使用 Google Apps for Education 的学校的 Google oAuth2 调用失败

我们允许使用 oauth 和 google 进行身份验证。对于我们的绝大多数客户,显示的代码都可以正常工作。然而,对于少数人来说,它失败了。该问题与网络无关,因为我可以使用用户学校提供的谷歌电子邮件帐户导致问题,然后切换到个人帐户并且不会出现问题。如果问题确实发生,它会发生在整个学校,这让我相信它与他们的谷歌帐户中的设置相关,但似乎没有人知道这个问题。帮助!!!

问题出在 makeAPICall 函数中,对于大多数用户来说,我们可以在此之后访问电子邮件,但在问题学校中,电子邮件是未定义的。但是没有返回错误。

0 投票
1 回答
154 浏览

google-apps-script - 从 Google 表单提交生成 Google Doc 时出现 OpenById 错误

我目前在谷歌教育领域工作,我想通过谷歌表单的 onSubmit 触发器自动生成谷歌文档。我有一个模板文件,我想复制它,然后用表单中的响应替换字段(例如,{{name}})。

提交后,模板谷歌文档被成功复制并重命名,但我无法打开文档来替换文本字段。

该文档被复制并重命名,但在“DocumentApp.openById”处引发错误

您无权调用 DocumentApp.openById。所需权限:https ://www.googleapis.com/auth/documents at onSubmit(代码:81)

我不知道为什么,因为我是表单和模板的所有者!

0 投票
0 回答
136 浏览

algorithm - 对 400 名学生的“出价”进行排序的简单方法?

我是一名高中老师,需要帮助解决学生分类问题。

  • 每 6 周,学生会收到 100 个“代币”来竞标约 30 个不同的项目。
  • 他们通过谷歌表格出价,要求他们根据兴趣“花费”他们的代币。
  • 这会生成一个包含 30 列(每个项目 1 个)和 373 行(每个学生一个)的 Google 表格。

我需要自动对这张表进行排序,以便最终得到一张新表,其中包含分配给每个项目的学生。

目标:

  1. 最多的学生被安排在他们的最高“投标”项目中。
  2. 任何项目的学生人数不超过 25 人。
  3. 被归类为“1 级”的学生只被分配到 1 个项目,而被归类为“2 级”的学生在 2 个项目的名册上。此级别连接到随表单提交的电子邮件。
  4. 任何出价超过 100 个代币的学生都会被随机分配到项目中的一个空缺位置。
  5. 项目名册被平均分为没有学生冲突的 5 个“小时”。例如,如果“科学项目”和“数学项目”名册中没有相同的学生,则它们可以同时出现。如果他们确实有相同的学生,他们将在不同的时间。
  6. 在发生冲突的情况下,学生将获得下一个最高出价。在没有下一个最高出价的冲突情况下,学生被分配一个有位置的随机项目。
    • 示例 1:26 名学生为一个项目出价 100 个代币。26 个中的 1 个被放置在随机项目中。
    • 示例 2:24 名学生为一个项目出价 100 个代币。5 名学生在同一个项目中出价 99 个代币。5 个中的 4 个分配给他们出价 1 个代币的项目,如果这足以让他们“合格”。如果没有,他们会被随机分配到其他项目。

我可以使用各种 Google 表格公式手动对其进行排序,但这大约需要 3 个小时。我得到了一份关于构建自动化工具的报价,但它有点超出我的价格范围。朋友推荐我在这里发帖。有人愿意接吗?不要求施舍。我还可以与示例数据共享 Google 表格。

编辑:这是我使用删除学生信息的过程的链接。一个挑战是,当我删除学生信息时,我用“student1”等填充了它。但是“student1”在每张纸上都不是同一个学生,所以它变得有点难以追踪。这是一个解释我的过程的截屏视频。如果您有任何问题或想法,请告诉我!

0 投票
1 回答
55 浏览

google-apps-script - 如何使用 GAS 使 Google 表单不受限制?

我正在使用 G Suite 教育版。我有一个 GAS 项目,它生成一个 Google 表单并通过电子邮件发送一个链接。我需要该表格以允许组织外部的用户完成它。我似乎找不到使用Google 的 Forms 服务参考资料的方法。我需要在 Google Apps 脚本中做什么才能设置表单的属性,以便任何拥有该表单链接的人都可以完成它?