Google API:在javascript中使用离线访问令牌

时间:2017-04-27 15:42:53

标签: google-api google-api-client

我使用Google API登录和angularJS + Firebase应用程序开始了一个项目。

我想做的是能够以编程方式将电子邮件从一个人发送到另一个人。

示例:John已登录,单击一个向Rachel发送电子邮件的按钮。但是,该电子邮件是使用Ted存储的令牌发送的,而不是John的帐户。

似乎可以使用php库,这不是一个选项。

到目前为止,我使用以下几行轻松获取令牌:

var GoogleAuth = gapi.auth2.getAuthInstance();
                GoogleAuth.grantOfflineAccess({
                    scope: 'https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/drive https://mail.google.com/ profile email'
                }).then(function(resp) {
                    console.log(resp);
                    this.storeToken(resp.code);
                });

实际上可行吗? 快速搜索只是让我得到了php的结果或者你如何获得JS库的令牌......不是如何使用它!

1 个答案:

答案 0 :(得分:0)

根据我的理解,您希望使用刷新令牌(离线访问)通过Javascript从Ted的帐户发送电子邮件。

可悲的是,这不可能是客户端。您的代码为您提供的代码是'代码'您可以使用$http.post ()发送到您的服务器,并与Google服务器端进行交易以获取刷新令牌。

以下是如何将该代码更改为刷新令牌的指南。  虽然你可以做这个客户端,但它会涉及暴露你永远不应该做的客户秘密。(https://developers.google.com/identity/sign-in/web/server-side-flow

每当John想要从Ted帐户发送电子邮件时,您的应用程序都必须向您的服务器发送一个请求:

我希望这有帮助。