【问题标题】:Pass a value from google app script to my chrome extension将值从谷歌应用脚​​本传递到我的 chrome 扩展
【发布时间】:2021-04-02 08:09:06
【问题描述】:

我是一组 chromebook 的“商业和教育版 Chrome”管理员,我已将这些 chromebook 配置为在单应用信息亭模式下运行。有问题的信息亭应用程序非常简单。我所做的只是从这个链接 (https://support.google.com/chrome/a/answer/3316168?hl=en#kiosk) 中获取示例代码,该代码使用“webview 标签”(没有控件,因为我们需要来自谷歌表单的相关应用程序的所有整个屏幕)并更改 URL。该应用程序已完美安装在所有托管设备中,Google 表单在我的信息亭应用程序中打开,用户可以填写表单并提交。

现在的问题是我需要在表单提交后将一个值(可以是单个字符或数字)传回我的 Kiosk 应用程序。我不知道如何将值从 Form 的应用脚本传递回我创建的信息亭应用,有谁知道如何使它工作,谢谢。

【问题讨论】:

  • 欢迎来到 StackOverFlow,请借此机会参加 tour 并学习如何使用 How to Askformat codeminimal reproducible exampleTag Info !!!!没有发布没有帮助
  • 您无法在 Google 表单实时/客户端中运行应用程序脚本。 Google 表单应用脚本仅用于编辑表单或后端修改。

标签: google-apps-script google-chrome-extension google-chrome-app google-forms


【解决方案1】:

你可以

  • 将您的 Apps 脚本项目部署为 WebApp
  • 从 WebApp 中返回您的值
return contentService.createTextOutput(JSON.stringify({"myVar": "myValue"})).setMimeType(ContentService.MimeType.JAVASCRIPT);
  • 在您的 Chrome 扩展程序中,对 WebApp URL 执行 XMLHttp 或获取请求

要在 Chrome 扩展程序中实现的示例代码 sn-p:

XMLCall(webAppUrl, callback);

function XMLCall(webAppUrl, callback) {
  const request = new XMLHttpRequest();
  request.onreadystatechange = function() {
     callback(request.response);
  }
  request.open("GET", webAppUrl, false);
  request.send('');
}
function callback(response) {
  var myValue = JSON.parse(response).myVar; 
}

【讨论】:

  • 谢谢,我对客户端/服务器编码不熟悉,可以给我更多的提示,并提示我更多,我在哪里可以将值返回在App脚本中,我应该在哪里执行XML http或在 Chrome 扩展程序中获取对 webApp URL 的请求。
  • 返回值将在您的代码末尾。到目前为止,您没有显示您拥有的代码,但是一旦您拥有了您感兴趣的 var,只需将其与上面的行一起返回即可。在您的 Chrome 扩展程序中 - 在您需要使用 var 的位置合并获取请求。
  • 新年快乐,ziganotschka 下面是我测试Google Form中的一个app脚本函数,我添加了Trigger,当用户点击Google Form中的提交按钮时,会调用这个函数,你的意思是将返回值放在我的函数末尾? var noKiosk=0;函数 onSubmit() { form = FormApp.getActiveForm(); formResponses = form.getResponses(); // 做一些工作.. return contentService.createTextOutput(JSON.stringify({"myVar": noKiosk})).setMimeType(ContentService.MimeType.JAVASCRIPT);如何在我的 Chrome 扩展程序中捕获返回值?谢谢,不胜感激。
  • 部署 WebApp 后,制作例如对其部署 URL 的 XML 调用 - 如我的示例中所指定。只需通过您的真实 URL 替换占位符 webAppUrl
  • 您好 ziganotschka,我按照您的指示发布到 WebApp,然后在 chrome.app.runtime.onLaunched.addListener 和 chrome.app.runtime.onRestarted.addListener 中使用我的 webAppUrl 进行 XML 调用自定义编码扩展,但无法获取值,可以提供更多建议,示例如下: chrome.app.runtime.onRestarted.addListener(function() { runApp(); XMLCall("script.google.com/macros/s/…", callback); } );谢谢!
猜你喜欢
  • 2016-04-03
  • 1970-01-01
  • 1970-01-01
  • 2014-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多