2014-09-26 51 views
0

用户登录我们的私人Google协作平台后,我希望在着陆页上向用户有条件地显示或隐藏我的Google Apps脚本小工具。换句话说,如果用户看到了它,我不想再次展示给他们,直到它被更改。动态显示/隐藏托管在Google协作平台中的Google Apps脚本页面

我使用Google Apps Script,而不是Google Sites Gadget,因为我需要登录用户的电子邮件出于身份识别的目的。

我看过类似的问题,例如Google Apps Scripts have static heightadjusting height of Google Apps Script但没有一个我可以使用的解决方案。

+0

另外,有没有人知道一种方法来获取登录用户的电子邮件或openid在小工具而不要求他们授权?这只是令人讨厌的是,用户必须授权您在登录后识别它们。 – 2014-09-26 04:46:43

回答

0

您的问题和评论都是不可能的。 气体不能隐藏或高度发生变化。您唯一的选择是显示一个空白的小工具。 此外,网站小工具无法获取用户的电子邮件,除非您执行的oauth舞蹈几乎没用:只要您对小工具进行了任何更改(例如更改尺寸),小工具网址就会发生变化,并强制oauth再次跳舞。

+0

谢谢,Zig。你的回答证实了我的发现。我希望当小工具发布者是网站所有者时,可能有办法识别登录用户,但遗憾的是,只有在GAS不支持动态高度或可见性的情况下才可能。 网站小工具确实支持动态高度,因为[这里](https://developers.google.com/gadgets/docs/ui)记载了尽管我没有测试零高度。不幸的是,没有oauth舞蹈,没有办法识别用户。 你的回答并不能解决我的问题,但是这是一个非常好的答案。谢谢 – 2014-09-28 03:36:25

+0

是的,我使用动态高度,它的工作原理。问题是,您需要将所有逻辑放在小工具中。如果您需要识别用户,这几乎没用,因为小工具oauth代理会中断已保存的认证。所以你唯一的选择是自己实现oauth,例如在一个小工具iframe中。但是由于小工具和框架存在于不同的域中,因此无法进行通信,因此您无法告诉小工具调用gadgets.window.adjustHeight() – 2014-09-29 03:10:36

+0

行,Zig。我已将您的答案接受为否定形式,然后放弃[此路径](https://developers.google.com/gadgets/docs/oauth#impl-gadget)并实施了一个oauth小工具。我修改了示例,以便在用户批准访问后,小工具使用用户的openID将请求发送到我的服务器。我使用openID来识别用户。 – 2014-09-30 04:59:44

相关问题