繁体   English   中英

如何从适用于Node.js的Google Calendar API获取承载值

[英]How Can I Get Bearer Value from Google Calendar API for Node.js

我试图从Node.js中的Google Calendar API获取事件,但是我无法理解OAuth2的工作方式。

我准备了回调到路由器中以获取代码,并且效果很好:

router.get('/oauth2callback', function(req, res) {

   // store code into database with user id.
});

并从用户获取事件:

user.findById(req.session.user_id)
    .then(function (data) {

        auth.setCredentials(tokens);
            user.getCalendars(req.session.user_id)
                .then(function (data) {

                    var promises = [];

                    for (var i = 0; i < data.length; i++)
                        promises.push(createPromise(data[i].cal_id));

                    promise.all(promises)
                           .then(function (data) {

                               res.json(data);
                           })
                           .catch(function (err) {

                               res.json(err);
                           });
                })
                .catch(function (err) {

                    res.json(err);
                });
        });

function createPromise(calendarId) {

    return new promise(function (resolve, reject) {

        calendar.events.list({ calendarId : calendarId, key : '{MY_API_KEY}' }, { auth: auth }, function (err, result) {

            resolve(result);
        });
    });
}

但它显示公共日历。 我想获取所有事件,包括私人日历。

我发现,如果可以获取Bearer Header for Authorization,就可以获取所有事件。 我怎么才能得到它?

从私人日历访问所有事件将需要什么代码?

要访问私人日历,您需要通过身份验证才能查看/查看此日历。 您可以在此处使用OAuth或服务帐户,因为您的应用程序发送到Google Calendar API的每个请求都必须包含授权令牌。 令牌还会向Google标识您的申请。 要了解有关此内容的更多信息,请参阅本文档

我建议您检查此Github,以了解有关如何在Node.js中使用Calendar API的更多信息,包括此处的OAuth使用方法。

有关更多信息,请检查这些相关的SO问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM