使用AJAX(Javascript)与Gmail进行交互是否可行?

4
我想要为Gmail构建自己的接口,通过与实际的Gmail服务进行编程交互,并将所有请求都传输到Gmail本身。
用户必须登录他或她的Gmail账户,之后我的应用程序需要能够与Gmail服务进行交互。
是否有适用于Javascript的API可供使用?
如有其他相关反馈也感激不尽。谢谢。
更新:可能已经有网站做到了我试图做的事情,比如otherinbox.com,除非他们通过自己的服务器代理所有电子邮件(这是我不想做的事情,因为我希望人们通过Javascript API直接与Gmail进行交互)。

2
您的网站托管在abc.com上,无法向*.google.com发出AJAX请求。您需要通过代理从您的域中进行请求。 - Manish
我想唯一的方法就是为签名的Java小程序创建一个桥接。多么丑陋啊。 - Tom
那么 Chrome 扩展是如何与 Gmail 交互的呢?大多数都是免费的,其中之一是:https://chrome.google.com/webstore/detail/send-from-gmail-by-google/pgphcomnlaojlmmcjmiddhdapjpbgeoc?hl=en-US&utm_source=chrome-ntp-launcher 它们可以代替你发送电子邮件,告诉你有多少未读邮件等。 - Muhammad Umer
3个回答

4
如果您想通过监控和观察来实现作为Gmail浏览器插件的所有功能,您可能需要查看一下这个。它不能完全满足您的要求,但可以让您在某种程度上达到目标。 Gmailr 不幸的是,您可能需要一个服务器。即使您可以解决跨域问题,Gmail的界面基本上是在页面加载时使用JavaScript动态构建的。因此,JavaScript函数名称将始终在改变。
几乎所有像您描述的那样做任何事情的人(我们也提供了一个替代的Gmail界面emailga)都采用了这种方法。我也知道OtherInbox的人,他们有一个服务器组件,使用IMAP接口来完成大部分的魔法。

那是我需要的最终确认。不幸的是,由于带宽和它是免费服务的原因,对我来说在中间放置服务器不是一个选项。 - Tom

2
请查看Gmail API。我认为您可以使用它,尽管我没有深入研究过。希望对您有所帮助。

很抱歉,这是针对客户端或服务器端应用程序的。看起来我将面临两个主要问题。1)需要跨域请求 2)在浏览器上使用Javascript处理IMAP/SMTP。 - Tom
2
很抱歉,你是对的,Gmail 没有 JavaScript API。可以使用 I frame 代理来处理跨域请求。例如和解释请参考 http://www.codecouch.com/2008/10/cross-site-scripting-xss-using-iframes/。 - danny.lesnik
看起来需要目标域将一个框架与我的域集成。 - Tom

2
我认为您需要创建一个自定义的邮件服务器,可以通过 POP3、IMAP 或 SMTP 连接到 Gmail。另一方面,我确定 Ajax 请求不能是跨域请求,但 PHP 可以做到这一点。因此,您必须需要一个 PHP 文件,通过 POP3 | IMAP | SMTP 或 Ajax 访问 Gmail。但仅使用 JavaScript 无法完成这项任务。

看起来我需要一个OAuth STMP/IMAP Javascript库。这可能是通过WebSocket实现的。不确定。你建议的是一个中介服务器,对我来说不是一个选项。 - Tom
因为您想使用ajax,但无法进行远程ajax请求(跨域请求)。我不知道WebSockets是如何工作的,但我不确定这会起作用。 - Gergely Fehérvári

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接