【发布时间】:2014-01-16 01:00:56
【问题描述】:
这是我想要做的:
在我的网站中的多个位置嵌入 Google 电子表格。对于注册用户,我想在电子表格中显示所有数据。对于未注册用户,我想隐藏关键号码。
我有一个带有名为 blackOut() 的自定义函数的电子表格。我已将 blackOut 功能放在所有包含敏感数据的单元格中。所有 blackOut() 需要做的是:
function blackOut(e) {
var is registered = ??
if (is_registered) return e;
else return "";
}
但我找不到任何方法将任何变量从我的网站“传递”到函数,所以我无法让它工作。
这是我的环境:
在 PHP 中,我使用 cURL 从该 URL 获取电子表格的嵌入代码:
https://docs.google.com/spreadsheet/pub?key=[spreadsheetID]&output=html&widget=true
然后我正在做一些 str_replace 函数来使 JS 和 CSS 工作。
这是我尝试过的:
- 在我的函数中使用 window.location(不起作用。Google 不允许您访问 window)
- 在全局中传递一个 javascript 变量(在 JS 中,全局变量在技术上附加到窗口对象)
- 使用 SpreadsheetApp.getActiveSpreadsheet().getURL()(只返回电子表格的 URL,而不是 http 请求中存在的 URL)
- 查看 Google 代码中的所有可用对象
我的理想解决方案:
如果我可以将 '&blackout=true' 添加到 URL,然后将其传递到 google 脚本中的 blackOut(),那就太好了。我环顾四周,我认为这是不可能的。
我查看了以下链接:
- How can I get URL parameters passed to a Google Spreadsheet using Google Apps Script?
- Alternative to global variables
- GAS: Problems in using global variables in functions
关于如何让它发挥作用的任何想法?
【问题讨论】: