我正在尝试使用谷歌工作表附加组件中的OAuth2连接到Salesforce。
var url = 'https://login.salesforce.com/services/oauth2/authorize?response_type=code&client_id=' +
clientId + '&redirect_uri=' + redirectUri + '&display=popup' +
'&scope=full' + '&prompt=login';其中redirectUri是另一个Google Apps脚本WebApp URL。
现在,我需要将Salesforce返回的code共享到我的Google Sheets附加组件中,但找不到解决方案。
如果有更好的认证方式,请告诉我。
任何帮助或建议都是很棒的。
发布于 2020-03-10 09:40:20
Short answer
不可以,您不能在Editor Add-ons中打开要在同一上下文中加载的子窗口。
说明
由于Google Apps脚本使用安全沙箱来清理用户应用程序内容,因此您将无法利用<iframe>或同窗口资源加载。尽管您可以在WebApp的同一窗口中加载目标资源,但您不能在编辑器附加组件中加载目标资源(在编辑器附加组件的上下文中不会设置sandbox属性的allow-top-navigation)。
如果这对你来说没问题,我建议设置width和height,以及top和left属性到居中,或者使用window.open()将窗口移到侧边栏+附近,如果弹出窗口被阻止,可以选择后退到链接。这至少会保持用户体验的质量相对不变。
参考
如果您想了解更多关于有哪些限制和实践的信息:
https://stackoverflow.com/questions/60565268
复制相似问题