我应该使用哪些技术来构建gmail扩展

时间:2012-08-09 22:03:06

标签: google-apps-script gmail

我正在寻找一些关于我应该对我应该记住的特定项目进行研究的建议。通过探索各种谷歌技术,我已经这样做了大约3天,但它们似乎都没有。

我需要为gmail整理一些东西,这大致相当于我为Windows Outlook整理的东西。我将简要解释一下我为Outlook用户做了些什么,让你感受到我正在寻找的东西。我将Outlook C#AddIn放在一起,当Outlook在启动时加载时,会向Outlook界面添加许多可单击的选项卡,按钮和其他各种界面元素。单击它们时,将以各种方式调用加载项中的C#代码以执行各种活动,例如归档当前在由我们的某个Web应用程序管理的远程数据库中选择的电子邮件消息。它通过调用任何加载的AddIn可用的各种Outlook C#API来实现此目的,以提取或操作各种Outlook“对象”。它在点击按钮上执行的另一件事是启动一个Web浏览器,AddIn从.Net类“webbrowser控件”实例创建,实质上是将Chrome添加到IE“引擎”。它还将所需内容添加到该Web浏览器的DOM中,以使大量可通过javascript代码调用的外接程序C#函数可以在该浏览器的页面中运行,从而为我们的Web应用程序提供了一种“询问”的方式。我的AddIn代表该应用程序创建Outlook联系人,任务,消息等。它的要点是我添加到Outlook应用程序的UI可用于对我们的应用程序进行各种Web服务调用(基于通过Outlook C#API使各种Outlook“对象”可见/可管理的状态),并且可以通过在Web应用程序页面中运行的javascript代码来操纵Outlook应用程序的状态,这些代码页面恰好在它创建的Web浏览器中加载。

我需要支持完全不同的gmail野兽(而不是Windows应用程序和基于浏览器的Web应用程序)的“类似”功能。我觉得有点像过去几天我一直在旋转,同时正在调查。我开始研究gmail Sidebar和Contextual小工具,在gmail中添加一些大致相当的我自己的UI,但很快就发现我无法真正使用它们的任何gmail API,只是试图扼杀我所拥有的内容一组由上下文小工具支持的触发式gmail“行为”,我意识到这并不足以支持我想要的东西。最后,我导航到了一系列开发人员页面,这些页面描述了功能上支持的Google Apps脚本,这似乎是一段时间,就像“走的路”,为我提供了gmail API的钩子。我和他们玩了一些,制作了一个网络应用程序脚本来收集我所有gmail消息的主题行,并将它们转储到也由脚本构建的UI中,只是为了获得实际的快速感觉。该脚本有效,但看起来很慢,花大约一分钟收集并显示57个电子邮件主题行。我无法弄清楚如何将任何脚本构建的UI放入gmail用户界面。我尝试构建一个侧栏小工具,其中引用了我的应用程序脚本的URL(根本没有内容标记正文中的HTML或javascript)。区域已分配给小工具确定,但我的脚本UI从未出现在其中。在完全不同的上下文中让我的脚本在iframe中运行有点失败后,再次尝试再看看我能做什么,我开始得到一些安全相关警告阻止它建立的印象/在iframe或gmail侧栏小工具中显示其界面,但也许我只是缺少一些必要的信息。

我的问题有点大,我知道,但“应该”我正在寻找其他谷歌技术来构建我想到的那种东西,或者我“大致”遵循一个稳定的轨道。我想要一些粗略的建筑建议,一些暗示我可能需要进一步探索的内容。

2 个答案:

答案 0 :(得分:2)

使用Google Apps脚本,您无法向Gmail界面添加任何内容。简单地说,它不会做你想要的。

现在回到您的问题,如果侧边栏和上下文小工具对您来说还不够。我看到的唯一可以操作页面的解决方案是通过用户浏览器上安装的附加/扩展/脚本。

这种方法功能强大,您可以根据需要更改页面,但也有其缺点。首先,更明显的是,它在某种程度上依赖于浏览器并在浏览器上本地安装。这意味着如果用户切换计算机或浏览器,他将需要重新安装您的插件。

另外,你有点依赖于gmail的“内部”结构。我说“有点”因为这取决于你对应用程序的编码方式。但他们可能会立即进行更改并破坏您的应用,而不会发出任何通知,因为gmail的html-css结构不是“已发布的API”。

嗯,那是我的2美分。我希望它有所帮助。

答案 1 :(得分:0)

使用 JSF 富面孔。这可以给你一个google gmail,就像外观和开发一样,非常容易和快速。

快乐编码