为什么嵌入到Google Site中时动态依赖下拉列表无法加载

问题描述 投票:0回答:1

为什么嵌入式G-Site上基于G-Drive的基于JSON文件的动态依赖下拉列表无法加载?具有G-Account的任何人都将获得嵌入式Web应用程序的授权。

document.addEventListener("DOMContentLoaded", function () {
    var elems = document.querySelectorAll("select");
    var instances = M.FormSelect.init(elems);
});
document.getElementById("nativeState").addEventListener("change", getDistr);

function getDistr() {
    var state = document.getElementById("nativeState").value;
    google.script.run.withSuccessHandler(updatedistricts).getDistricts(state);
}

function updatedistricts(distrList) {
    nativeDistr.innerHTML = distrList;
    var subcatSelectElem = document.querySelectorAll("select");
    var subcatSelectInstance = M.FormSelect.init(subcatSelectElem, {});
}

用于在IFrame中呈现页面的函数代码。

function render(file, argsObject) {
var tmp = HtmlService.createTemplateFromFile(file);

if (argsObject) {
    var keys = Object.keys(argsObject); // key can be like a stateList from tmp.stateList
    keys.forEach(function (key) {
        tmp[key] = argsObject[key];
    });
} //End If

var updateTmp = tmp.evaluate().addMetaTag("viewport", "width=device-width, initial-scale=1");
//return tmp.evaluate();
//To embed code in site using XFrame
return updateTmp.setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);

}

该应用程序的部署URL以/ exec结尾。

google-apps-script dynamic drop-down-menu google-drive-api google-sites
1个回答
0
投票

问题在于执行权。期望值为USER_DEPLOYING,而不是访问Web应用程序的用户。

“ webapp”:{“ access”:“ ANYONE_ANONYMOUS”,“ executeAs”:“ USER_DEPLOYING”}

© www.soinside.com 2019 - 2024. All rights reserved.