AppsScript和Wordpress之间的沟通
我想让Google Apps脚本Web应用程序从我的Wordpress中捕获当前用户名。 我一直在这一段时间工作,但我无法弄清楚。 我尝试了这种方式 - 里面的wp我运行代码:AppsScript和Wordpress之间的沟通
<?php $current_user = wp_get_current_user(); echo '<div id="username" style="visibility: hidden;">' . $current_user->user_login . '</div>'; ?>
现在我想抓住从谷歌Web应用程序的ID的内容(在iframe),但我不能访问的父元素。我如何在两者之间进行沟通?
您可以将值发送到iframed webapp作为参数。
主页:
<?php $current_user = wp_get_current_user(); echo '<iframe src="https://script.google.com/macros/s/.../exec?name=' . $current_user->user_login . '"></iframe>'; ?>
Google Apps脚本:
function doGet(e) {
var temp = HtmlService.createTemplateFromFile('index');
temp.name = e.parameters.name;
return temp.evaluate().setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL);
}
非常感谢你这个好主意!我试过了,但无法弄清楚如何获取用户名? 我在浏览器中上传了创建的iframe的控制台图片: http://fs5.directupload.net/images/161207/o3wtg4j3.png – dirtybob
在Apps Script事件对象被传递给onGet()/ onPost()函数。公约将其命名为'e'。在我的示例中,我将该名称分配给模板对象,但您可以轻松地执行诸如'var name = e.parameters.name'之类的操作,并将name参数分配给一个变量。 –
'function doGet(e){var_html = temp.name = e.parameters.name; return temp.evaluate()。setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL); } 函数Datentransfer(){ var logInName = doGet(); var ss = SpreadsheetApp.openById('ID'); var sss = ss.getSheetByName('Sheet1'); var email = Session.getActiveUser()。getEmail(); sss.getRange(sss.getLastRow()+ 1,1,1,2).setValues([[logInName,email]]); }' 在控制台中给我一个错误: '“无法从未定义的属性读取参数”' – dirtybob
请阅读SO文档并提供与您的谷歌Apps脚本代码的完整可重复的例子。其次,我认为由于GAS中的iframe限制,您将无法访问父元素。由安全功能通过设计。 –
下次会这样做。 – dirtybob