- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我设置了一个 Google 脚本来从 mySQL 数据库中获取数据。该脚本是通过首先为访问凭证定义变量来设置的。例如:
var host = '123.45.67.89';
var user = 'username';
var password = 'password';
var port = '3306';
我的问题:这些凭证可能会改变。如果它们确实发生了变化,我将不得不在每个脚本、每个使用它们的电子表格中进行更改。
我认为解决方案是设置一个用作库的脚本,其唯一目的是定义这些变量。所以,所有这个脚本都是:
function setCredentials() {
var host = '123.45.67.89';
var user = 'username';
var password = 'password';
var port = '3306';
}
一旦它被设置为一个库,保存为“DBCredentials”,我将设置每个 SQL 抓取脚本来简单地调用该库中的那些变量。但我无法让它工作。我确定我只是错过了从库中调用变量的正确方法,但我没有运气使用谷歌找到答案。
我确实找到了这个: Defining globals in Google Apps Script that can be used across multiple projects
据此,我将使用以下方式调用变量:
var host = SpreadsheetApp.openById( DBCredentials.host );
但是当我这样做时,我收到了“Bad value”错误。我也试过:
var user = DBCredentials.user;
但这也行不通。该脚本将运行,但检查访问日志显示名为“undefined”的用户试图访问数据库。
从库脚本调用变量的正确方法是什么?
最佳答案
桑迪的第二条评论让我找到了答案:
A GLOBAL can be set from inside of a function, but you can't use var inside the function or the variable will be scoped to the inside of the function. So, declare your global's outside of any function, and if you want to set the value of the globals from inside of a function, then don't use var
我的错误是设置了我的库脚本文件,即带有凭据的文件。我将带有设置凭据(主机、用户、密码、端口)的 var 放在一个函数中,如下所示:
function getCredentials() {
var host = '123.45.67.89';
var user = 'username';
var password = 'password';
var port = '3306';
}
这是我不正确的地方。我对此很陌生,所以我假设所有脚本都必须有一个函数才能运行。将变量放在一个函数中会使这些变量的范围仅限于该函数,这就是为什么当其他脚本调用这些变量时它们不传输 OUT 的原因。
我只是删除了变量周围的函数,将库脚本更改为仅此而已:
var host = '123.45.67.89';
var user = 'user';
var password = 'password';
var port = '3306';
然后我能够使用以下命令从容器绑定(bind)脚本(绑定(bind)到电子表格的脚本)中调用这些变量:
var host = DBCredentials.host;
var user = DBCredentials.user;
var password = DBCredentials.password;
var port = DBCredentials.port;
(DBCredentials 是为库脚本选择的标识符。)它现在可以完美运行。非常感谢您的帮助!
关于google-apps-script - 谷歌脚本 : Define Variable from Library,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52011141/
我正在尝试添加 ace editor到我的应用程序。我从 github 下载它,将“ace/lib/ace”目录放到我的应用程序目录中,包括: " 在我的正文标签中: editor = ace.edi
如果有人能介绍一下 TypeScript 1.8 模块,我将不胜感激。 我有 SomeClass.ts 文件: export class SomeClass { } 然后,在我的 app.ts 中导入
今天,当我阅读php内核代码时,在目录:php5.3/Zend/Zend.h中,有一行代码让我很困惑。 代码如下: /* overloaded elements data types */ #defi
今天看php的内核代码,在php5.3/Zend/Zend.h目录下,有一行代码搞得我一头雾水。 代码如下: /* overloaded elements data types */ #define
我有一个相当大的项目,我试图将所有 JS 文件连接到一个文件中。我已经能够做到这一点,但我在实际将这两个文件实现到代码中时遇到了麻烦。 我的 Gruntfile 有一个执行串联的任务: require
1在以下示例中似乎没有必要(并且可能具有误导性),但是在用于检查 #ifdef 时我已经多次看到这种情况s: #ifndef __NEWLIB_H__ #define __NEWLIB_H__ 1 使
感谢您提供的任何帮助。我有一个 Grails 项目,我正在尝试将 Karma 安装到其中。但是,当我运行时 ./gradlew 构建 我收到以下错误: [x-10-105-56-234]SENG519
我从 Frontend Developer Interview Coding Questions 得到了这个问题.为什么下面的代码片段会打印它打印的内容?我最初认为它会抛出一个 ReferenceEr
之前的问题描述有歧义,所以我在下面修改了一些东西。谢谢。 我想像这样实现一些宏: #define AddVariable(x) \ #define x (++counter) class Ba
我知道我正试图朝自己的腿开枪 ;) 但是,它可以让我使其余(大量)代码更小且更易读。 有什么技巧可以在另一个预处理器宏中创建预处理器宏吗? 这是我正在寻找的示例。我的真实场景更复杂 // That's
在 Microsoft 的 WinDef.h 中引入了几个用于回调的#defines: #ifdef _MAC #define CALLBACK PASCAL #define WINAPI
我知道我想在腿上开枪;)但是,它可以让我使其余(大量)代码更小且更具可读性。 在另一个预处理器宏中创建预处理器宏有什么棘手的方法吗? 这是我正在寻找的示例。我的真实场景更复杂 // That's wh
当我使用这段代码时: #include #define STR(x) #x int main(void) { printf(__FILE__ STR(__LINE__) "hello!\n"
今天的问候, 您好,我是使用 vb 6.0 的初学者。我正在使用以下代码并获得“用户定义类型未定义”。代码在下面。我得到错误的行被突出显示。请帮助。我应该添加一些引用或组件吗?如果是这样,它会是什么。
当我尝试编译此代码时,在 VB6 中出现编译错误“用户定义的类型未定义”。谁能告诉我需要做什么来解决这个错误?以下是我收到错误的行: Public Conn As ADODB.Connection P
我最近将我的应用程序从 Ember 1.3 升级到了 Ember 2.4.2。然而,在使用 ember build --env production 将其部署到我的生产环境后,我注意到了一些问题。 第
这个问题在这里已经有了答案: Getting user-defined type not defined error when running code (2 个回答) 3年前关闭。 我在运行程序以通
在我的一个项目中,我最近进行了重构并重命名了很多。完成此步骤后,一切正常,所有单元测试都通过了,但是我遇到了以下问题。 当我在VBE中执行“编译”时,确实出现了“用户定义的类型未定义”错误,并出现两种
所以我的 Visual Studio 将 tag1 和 tag2 都声明为未定义,但它们的定义很清楚,我不能根据另一个定义一个吗? #define push 99 #de
在 Excel 2007 中,我有以下非常简单的 VBA 代码: Public Type specType sb As Long End Type Private Sub MyButton_C
我是一名优秀的程序员,十分优秀!