是否可以授予我的nodejs应用程序对我的Google日历的访问权限?

问题描述 投票:1回答:2

因此,我有一个nodejs应用程序,它将邀请发送给Google日历中的某个事件的邀请发送给某些人,现在我正在使用我的gmail帐户和OAuth Playground来获取临时访问令牌,并且该令牌可以使用,但是该访问令牌仅可用于分钟和每次我需要手动刷新Access令牌并授予对我的Google帐户日历的访问权限,这就是问题所在,现在,我想使某些事情变得动态而不干扰我。此应用程序托管在wix中。有什么建议 ?谢谢

node.js google-api google-calendar-api google-apis-explorer google-api-nodejs-client
2个回答
1
投票
如果只允许他们访问您拥有和控制的日历,则可以使用服务帐户。

let google = require('googleapis'); let privatekey = require("./privatekey.json");   Now let’s use the private key to configure a JWT auth client and authenticate our request. // configure a JWT auth client let jwtClient = new google.auth.JWT( privatekey.client_email, null, privatekey.private_key, ['https://www.googleapis.com/auth/calendar']); //authenticate request jwtClient.authorize(function (err, tokens) { if (err) { console.log(err); return; } else { console.log("Successfully connected!"); } });

在Google开发人员控制台中创建服务帐户凭据。然后获取服务帐户的电子邮件地址,并通过Google日历网站与它共享日历。您所拥有的其余代码应该相同,只是用这个替换掉auth部分。

0
投票
要访问日历API,请遵循Quickstart

提供的代码会创建一个refresh token,每当旧的令牌过期时,它就会自动为您生成一个新的访问令牌。

请小心不要不必要地使用服务帐户,尤其是在将受邀者添加到日历事件中时-当前有issues具有此功能。

© www.soinside.com 2019 - 2024. All rights reserved.