如何使用没有Web服务器的文件:/// protocol从本地html文件执行Google OAuth?

时间:2017-03-31 15:56:27

标签: javascript oauth google-api google-oauth gmail-api

我正在编写一个包含HTML和JavaScript的单页面应用程序。将HTML和JS文件保存到本地磁盘并双击HTML文件即可使用此应用程序。

我希望能够让用户使用Google Api发送电子邮件。

我已经研究了几天,我发现没有好办法做到这一点。我转到了这个页面:https://developers.google.com/identity/choose-auth,在左侧有指南的链接。每个选项都有它的问题:

OAuth 2。 0 for JavaScript Web Apps:需要Google重定向到的HTTP服务器。我不能,是的,我不能,提供一个HTTP服务器重定向回http:\\ localhost,因为这个HTML文件将从本地磁盘加载文件:\\ protocol。

OAuth 2。电视和电视0设备应用:我认为这可能有效,但当我在HTML JavaScript代码中使用XMLHttpRequest对象将帖子发送到https:\\ accounts.google.com/o/oauth2/device/code时,我得到了这个我的控制台错误:

10:43:39.124阻止跨源请求:同源策略禁止通过https:\\ accounts.google.com/o/oauth2/device/code读取远程资源。 (原因:缺少CORS标题'Access-Control-Allow-Origin')。 1(未知)

唯一不方便用户的方法是使用名为“OAuth 2.0 for Mobile& Desktop Apps”的指南并使用名为“Option 3:Manual copy / paste”的选项,但它在那里说“此选项可能会在将来停止,只有在上述选择不可行的情况下才能使用。”我也不喜欢。例子:

OAuth

0 个答案:

没有答案