如何将Dialogflow集成至新版Google Sites实现弹窗聊天组件
新版Google Sites 集成Dialogflow实现弹窗聊天组件的可行方案(非直接embed code方式)
新版Google Sites确实封锁了全站自定义脚本注入权限,除了直接粘贴embed嵌入代码的常规接入方式外,以下3种方案都可以稳定实现弹窗唤起的Dialogflow聊天组件,全部符合平台规则不会被拦截:
- 固定按钮+内嵌弹窗组合方案
不需要额外申请权限或者写复杂代码:先把Dialogflow聊天界面单独做成一个适配小尺寸窗口的轻量静态页,托管在Firebase Hosting或者Google Drive静态页服务上即可。回到Sites编辑页,在页面边角位置插入一个自定义图片按钮(用你自己设计的聊天图标就行),给按钮设置点击动作为「打开嵌入内容弹窗」,弹窗内容地址绑定你提前部署好的Dialogflow静态聊天页,调整好弹窗尺寸就可以实现点击图标弹出聊天窗口的效果。这种方式交互和原生悬浮聊天组件几乎没有区别,还可以自定义按钮的位置、样式,完全不依赖自定义脚本注入。 - Google Apps Script 中间层方案
如果不想额外托管静态资源,可以新建一个Google Apps Script项目,用内置的HTML服务编写带Dialogflow Messenger组件的前端页面,直接在脚本里绑定Dialogflow的API对接逻辑,之后把脚本部署为Web应用,访问权限设置为「任何人可访问」。后续和上面的方案逻辑一致,在Sites里插入触发按钮,点击后弹窗加载这个Apps Script的Web应用地址即可。这个方案所有资源都在Google生态内,加载速度更快,还可以直接在Apps Script层做用户身份校验、消息自定义处理,不用把Dialogflow的前端密钥直接暴露在公网页面。 - 官方组件市场插件方案
零代码首选:在Sites编辑页选择「插入-第三方组件」,进入Google Workspace Marketplace搜索已经适配Dialogflow的聊天类插件,这类插件都已经过Google官方安全审核,不会被站点拦截。安装完成后只需要在插件配置页填入你的Dialogflow代理ID、认证密钥,就可以直接开启弹窗聊天功能,大部分插件还支持自定义聊天窗口配色、欢迎语、触发按钮的样式和位置,不需要写任何代码。
踩坑提醒:不要尝试用漏洞或者非常规方式往新版Sites里注入未授权的自定义JS脚本,一旦被平台检测到,轻则插入的内容被自动清除,重则会临时限制站点的编辑权限,优先用平台原生支持的能力实现需求。
内容的提问来源于stack exchange,提问作者Sophie Ow
相关产品推荐
相关产品推荐

