Ответ 1
Может быть, ссылка ниже поможет вам - я еще не пробовал себя... но я попробую это в ближайшие дни. http://code.google.com/p/google-apps-script-issues/issues/detail?id=535
У меня есть гаджет Google Apps Script, встроенный в страницу Сайтов Google. Я хотел бы передать гаджету параметр страницы, чтобы при открытии страницы с URL-адресом вроде:
https://sites.google.com/a/mydomain/mysite/mypage?myparameter=1
Я могу получить доступ к значению параметра страницы в гаджете Apps Script так:
function doGet(e) {
var app = UiApp.createApplication();
app.add(app.loadComponent("MyComponent"));
var myparam = e.parameter.myparameter;
return app;
}
В настоящее время значение e.parameter.myparameter возвращается как null. Есть ли способ настроить мои приложения Script для поддержки этого? Любые подходы приветствуются.
Может быть, ссылка ниже поможет вам - я еще не пробовал себя... но я попробую это в ближайшие дни. http://code.google.com/p/google-apps-script-issues/issues/detail?id=535
В этом примере описывается параметр как "& name = value", однако я не смог заставить его работать в Google Apps Сайта или на личном сайте Google. (которые, похоже, обрабатывают аутентификацию по-разному)
Пример, кажется, работает отлично, когда я жестко кодирую значение, поэтому, возможно, я просто не разбираюсь в нем правильно или что-то в этом роде, я постараюсь следить за ним, когда я это понимаю лучше, но я еще не нашел адекватных объяснений эти функции.
Одна гипотеза заключается в том, что Google что-то изменил, я заметил, что структура меню, похоже, не соответствует тому, что, как я полагаю, используется, поскольку я вижу много ссылок на кнопку [share]/menu.
Я разместил это на странице code.google.com, на которой есть ссылка в принятом ответе, но способ передачи параметров в Apps Script заключается в добавлении "https://sites.google.com/feeds" в область "Script Apps". (См. этот сайт для получения информации о том, как добавить явные области.) Как только эта область добавлена, работает следующее:
в Code.gs:
function doGet(e) {
var htmlTemplate = HtmlService.createTemplateFromFile("page");
htmlTemplate.urlParams = e.parameters;
return htmlTemplate.evaluate();
}
в page.html:
...
<head>
...
<script>urlParams = <?!= JSON.stringify(urlParams) ?>;</script>
</head>
...
urlParams
теперь доступен как переменная в вашем коде JS в следующей форме:
urlParams = { key1: [value1, value2, ...], key2: [value1, value2] }