小编Sou*_*ria的帖子

从 Android 访问 Google Apps 脚本编辑器

我已经花了几个月的时间寻找答案。

  • 任何浏览器都会重定向到下载 Google 表格应用程序,该应用程序没有脚本编辑器。
  • Stack Overflow 重定向到一个关于在 Android 上运行脚本的问题,这是无关紧要的。

欢迎提供任何信息,即使您认为这是对一个愚蠢问题的简单回答

google-sheets google-apps-script google-apps-script-editor

8
推荐指数
1
解决办法
9098
查看次数

将工作表中的特定列处理为JSON

我有一个存储在电子表格中的列表目录,其中的不同列类似于不同的数据点,如下所示-

表

我想要实现的是在JSON中获取列A,C和D。

到目前为止,这是我一直在使用的代码,但这为我提供了工作表中的所有数据点-

function myFunction() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var range = ss.getDataRange();
  var values = range.getValues();
  var json = JSON.stringify(values);
  Logger.log(json);
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,它没有以我需要的格式提供输出,这更像是键值对的JSON,用于:

  • 名称(col A)
  • 电话号码(列C)
  • 地址(列D)

有人可以让我知道我要去哪里吗?谢谢。

google-sheets google-apps-script

6
推荐指数
1
解决办法
41
查看次数

是否可以将问题和多项选择选项从 Google 表单导出到 Google 表格?

我们有一系列包含多项选择题的 Google 表单,每个问题都有 4 个可能的答案。

对于该 Google 表单中的所有问题和答案,我希望能够将问题和所有可能的答案导出到 Google 表格。

例如:

Q1:英国的首都是哪里?

  • 答:伦敦
  • 乙:巴黎
  • C:马德里
  • D:赫尔辛基

我尝试了各种附加组件。有一些负载允许谷歌表格>谷歌表单,但没有反向(我能找到),所以我认为它将是某种脚本。

任何帮助将非常感激。

谢谢。利亚姆。

google-sheets google-apps-script google-forms

6
推荐指数
2
解决办法
1万
查看次数

从Google环聊中的某个房间获取特定的会话链接

我们的组织在Google Hangouts聊天(新聊天)上谈论它的“事件”,作为其中的一部分,我们要将该会话记录到另一个系统中

现在,我要做的是搜索特定的关键字,然后通过搜索结果找到这些会话,然后单击“转到主题”以获取会话URL。

我使用的是在聊聊天API的“指南”部分下找到的以下代码,但它仍然没有提供对话的网址-

/**
 * Responds to a MESSAGE event in Hangouts Chat.
 *
 * @param {Object} event the event object from Hangouts Chat
 */
function onMessage(event) {
  var name = "";

  if (event.space.type == "DM") {
    name = "You";
  } else {
    name = event.user.displayName;
  }
  var message = name + " said \"" + event.message.text + "\"";

  return { "text": message };
}

/**
 * Responds to an ADDED_TO_SPACE event in Hangouts Chat. …
Run Code Online (Sandbox Code Playgroud)

google-apps-script hangouts-chat

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

Web应用程序要求用户登录,即使该应用程序已被部署为供“任何人,甚至匿名”使用

我已经部署了一个脚本作为Web应用程序,可以由“任何人,甚至是匿名用户”访问,但是,如果用户尚未在特定浏览器上登录gmail帐户,它将要求他们登录。

这是我的清单文件-

{
  "timeZone": "Asia/Kolkata",
  "dependencies": {
  },
  "webapp": {
    "access": "ANYONE_ANONYMOUS",
    "executeAs": "USER_DEPLOYING"
  },
  "exceptionLogging": "STACKDRIVER"
}
Run Code Online (Sandbox Code Playgroud)

要重现此问题,您可以通过注销gmail帐户(或在未登录gmail的浏览器中)访问以下链接-

https://script.google.com/macros/s/AKfycbyayXeY_LGm7sy-J1VGvg7wfqOZYonZmKphS0F4Qz4jLZ336qsR/exec/test *

*要求您不要更改URL的pathInfo

当前行为-

  1. 登录后:您将被重定向到https://www.google.com/
  2. 退出时:系统将要求您登录到Google帐户。

我正在使用Apps Script构建(或更确切地说,虽然我已经构建了)URL缩短服务,但奇怪的是,当从自定义域(嵌入在https://tmt.pw中的iframe )访问时,它并没有要求用户登录。但要求他们在缩短网址后登录,然后尝试访问缩短的网址。

原始资源都在这里可用-

我已经在Chrome,Safari和Firefox(都在Mac上)上进行了测试,它们都表现出相同的行为。

我猜这是一个非常基本的东西,我只想让Web应用程序不要求用户登录,因为已经指示它即使对于匿名用户也要执行。

编辑便签1

该脚本还与电子表格有关,因此我尝试使该表格可以由所有人(Internet上的任何人)公开编辑,但仍然无法正常工作。

编辑note2

正在使用1个私有函数(_函数名末尾带有),并已停止在我的脚本中执行此操作-仍然没有更改;问题仍然存在。

google-apps-script google-apps-script-web-application

5
推荐指数
1
解决办法
68
查看次数

Google Hangout Room中的Bot可以访问活跃用户吗

我的团队发现@all太多了-人们下车时会收到通知,这对我们来说不是一个开始。我搜索了AppScript文档,发现的只是如何回复个人。

我想要的是:能够检测在环聊中处于活动状态的用户,并通过调用漫游器@提及每个用户。这可能吗?

bots google-apps-script hangouts-chat

4
推荐指数
1
解决办法
64
查看次数

通过Google电子表格发送HTML时事通讯电子邮件

我有一个每天更新的电子表格。斜体中的值每天都会更新,粗体是静态标签。

日期: 9/20/2019

停车场车厢数量: 105

最后输入: 09 : 21 AM

最后退房: X先生

我已经设置了一个脚本,以通过googlespreadsheet向用户发送包含更新的电子邮件。但是用户收到的电子邮件是这样的纯文本:

日期:,9/20/2019,停车场车位数:,105,最后进入:,09:21 AM,最后退房:,X先生,,,,,

我该如何使该代码发送类似于表格的彩色表格或彩色字体等,以发送更多用户友好的电子邮件?

html newsletter google-sheets google-apps-script google-sheets-api

4
推荐指数
1
解决办法
46
查看次数

有没有一种方法可以通过应用脚本搜索列中的值?

我是应用脚本的新手。我的问题是我有两列。在第一列中有一个ID,在第二列中有一个计数,所有行的计数均为0。
将有一个用户输入,其中用户将提供他想要搜索的ID的输入。如果ID匹配,则找到ID的同一行中的count将为1。

google-apps-script

4
推荐指数
1
解决办法
38
查看次数

尝试...捕获在 Google Apps 脚本中未按预期工作

[编辑以包含TJ Crowder建议的最小可重现示例。]

我正在使用 Google Apps 脚本开发一个简单的函数,该函数应该将日期错误字符串发布到电子表格的列中。该列已具有拒绝任何非有效日期值的数据验证规则。这一切都很好。

我的问题是这样的:

我尝试使用 try...catch 块来优雅地处理错误,并在值未通过数据验证时仅记录错误消息。try...catch 似乎根本不起作用。相反,脚本会抛出错误并中断,并且日志显示为空。

这是带有新代码的更新屏幕截图(抱歉,Sourabh Choraria,覆盖了您的更新)。令人惊讶的是,GAS 突出显示了错误发生位置上方的一行。

更新后的代码的屏幕截图

作为一点背景知识,此脚本获取存储在列中的各种其他电子表格的 ID,获取每个电子表格的最后更新时间戳,并将结果发布到结果列中。

这是我使用的代码。

function trackDocUpdates() {
    //Set the global variables
    var ss = SpreadsheetApp.getActive();
    var residentSheet = ss.getSheetByName("Resident Documents");
    var activeRange = residentSheet.getDataRange();
    var numRows = activeRange.getNumRows();
    var lastRevision = "No value yet.";

    //Loop through the rows of data to get the last updated timestamp of each document
    //The first data row is the 5th row …
Run Code Online (Sandbox Code Playgroud)

javascript validation try-catch google-sheets google-apps-script

4
推荐指数
1
解决办法
5488
查看次数

“呼叫者没有权限-google-apps-script”

我正在尝试使用google-apps-script为Google课堂创建扩展,但是我似乎遇到了权限问题-“呼叫者没有权限”。有人可以告诉我为什么会这样以及我需要做什么

我尝试访问了由谷歌云平台提供的所有库,希望其中之一提供所有必需的权限,但无济于事。

function listCourses() {
  var optionalArgs = {
    pageSize: 10
  };
  var response = Classroom.Courses.list(optionalArgs);
  var courses = response.courses;
  if (courses && courses.length > 0) {
    for (i = 0; i < courses.length; i++) {
      var course = courses[i];
      Logger.log('%s (%s)', course.name, course.id);
      var submissions = Classroom.Courses.CourseWork.list(course.id, optionalArgs);
      for (i = 0; i < submissions.length; i++) {
        var submission = submissions[i];
        Logger.log('%s', submission);
      }
    }
  } else {
    Logger.log('No courses found.');
  }
}
Run Code Online (Sandbox Code Playgroud)

该代码旨在列出特定课程中课程的课程ID

permissions google-api google-apps-script google-developers-console

3
推荐指数
1
解决办法
129
查看次数