标签: google-apps-for-education

Google Apps管理Java API中的批处理操作

我编写了一个Java应用程序,用于在我们的Google Apps for Education域上同步Google网上论坛(功能类似于Google Apps School Directory Sync,但针对我们的某些特定需求进行了定制).

同步有效,但速度很慢,因为它正在单独执行每个任务.我知道有批处理操作的 API接口,但我找不到任何关于如何使用Java API实现它的示例.

我正在使用的代码看起来与此类似(身份验证和其他设置在其他地方处理):

try
{
    Member m = new Member ();
    m.setEmail (member);
    m.setRole ("MEMBER");
    service.members ().insert (group, m).execute ();
}
catch (Exception e)
{
    // ERROR handling
}
Run Code Online (Sandbox Code Playgroud)

我不是一个一个地执行这些操作,而是想要批量处理它们.谁能告诉我怎么样?

java google-apps-for-education google-admin-sdk

15
推荐指数
1
解决办法
478
查看次数

如何删除 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 日)要向内网用户显示的 HTML 页面包含 Google 添加的不便警告在顶部声称该应用程序是由另一个用户创建的,而不是由 Google 创建。,这真的很烦人。我知道当脚本由未知用户创建时必须显示此警告。但就我而言,我(管理员)正在向我组织的用户提供脚本。

其他过去的结论 线程中是,使用 Google 商务或教育,一切都会得到解决。不幸的是,这不再是真的。

有没有人知道如何在 Google Apps Script 中为运行我们自己编码脚本的域中的用户避免此类警告?

warnings google-apps-script google-apps-for-education

8
推荐指数
2
解决办法
8666
查看次数

共享Google云端硬盘文件而不发送通知电子邮件

我正在使用Google Drive Java API。我需要将文件从一个Google域复制到另一个域,因此我的方法如下:

  1. 使用源域服务帐户进行身份验证
  2. 与目标域中的用户共享文件
  3. 使用目标域服务帐户进行身份验证并模拟用户
  4. 将原始文件从原始域复制到目标域
  5. 从原始文件中删除共享权限

一切都按预期工作,除了我不希望目标所有者收到Google云端硬盘电子邮件,通知他有关共享文件的信息。当通过Web GUI共享文件时,可以禁用通知电子邮件,因此我想也可以通过API来实现,问题是如何^^任何人?

PS:如果可能的话,我乐于接受新的“不太繁琐”的方法来创建文件从一个域到另一个域的副本。

google-api google-apps google-apps-for-education google-drive-api

5
推荐指数
2
解决办法
2975
查看次数

Google Apps 脚本:检查请求的引用 URL(独立网络应用程序)

我想对(独立、匿名)Google Apps 脚本的引用网址进行检查,如果引用网址是两个已知的“良好”网址之一,则采取一些操作。

\n\n

有没有办法做到这一点?到目前为止,我想出的最好的方法涉及客户端代码,不幸的是document.referrer总是以 开头https://script.google.com,而不是带有 Google Apps 脚本链接的页面地址:

\n\n

代码.gs

\n\n
function doGet() {\n  var t = HtmlService.createTemplateFromFile(\'index\');\n  t.heading = "My heading"\n  return t.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME)\n}\n\nfunction validReferrer(ref) {\n  Logger.log("Referrer is: "+ref)\n  if (ref.indexOf(\'my-good-url.com\') > - 1 ) {\n    return true\n}\nelse \n  return false\n}\n
Run Code Online (Sandbox Code Playgroud)\n\n

索引.html

\n\n
<div>\n<script>\n  function onSuccess(a) {\n  alert(a);\n  }\n  // referrer always begins https://script.google.com\n  var ref = document.referrer || "doesn\'t have a referrer"; \n  google.script.run\n  .withSuccessHandler(onSuccess)\n  .validReferrer(ref)\n</script>\n\n<h1><?= heading ?></h1>\n</div>\n
Run Code Online (Sandbox Code Playgroud)\n\n

理想情况下,我想纯粹在服务器端运行检查。如本页所述“出于安全原因,内容服务返回的内容不会从 …

google-apps-script google-apps-for-education

5
推荐指数
0
解决办法
2248
查看次数

简单的方法来分类400名学生的“出价”?

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

  • 每6周,学生会收到100个“令牌”,可以竞标〜30个不同的项目。
  • 他们通过Google表单出价,该表单要求他们根据兴趣“花费”令牌。
  • 这将导致Google表格具有30列(每个项目1个)和373行(每个学生一个)。

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

目标:

  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”在每个工作表中都不是同一学生,因此变得很难追踪。这是一个解释我的过程的截屏视频。如果您有任何问题或想法,请告诉我!

sorting algorithm google-apps-script google-apps-for-education

5
推荐指数
0
解决办法
101
查看次数

Google Apps脚本:GmailApp中的多个收件人?

我可以通过GmailApp.sendEmail()向多个收件人发送电子邮件吗?我已经尝试将收件人地址存储为数组,但它似乎没有发送任何数据.

谢谢!

google-apps-script google-apps-for-education

2
推荐指数
2
解决办法
5575
查看次数