使用googleapis获取Google日历活动列表

时间:2018-07-21 11:09:32

标签: node.js oauth-2.0 google-calendar-api google-oauth

googleapis documentation之后,我检索了包括refresh_token在内的令牌:

{ access_token: 'ya29.Glv_LONG-STRING',
        token_type: 'Bearer',
        refresh_token: '1/7k6BLAH-BLAH-BLAH',
        expiry_date: 1532141656948 }

access_token不再有效但我拥有refresh_token时,如何使用此来获取Google日历活动的列表?

1 个答案:

答案 0 :(得分:1)

您已经获取了刷新令牌。您想要通过刷新令牌使用Calendar API检索事件列表。如果我的理解是正确的,那么该示例脚本如何?在此脚本中,它假设以下几点。

  • 您具有可以使用Calendar API的刷新令牌。
    • 刷新令牌包括https://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/calendar.readonly,用于在范围内使用Calendar API检索事件列表。
  • 日历API已在API控制台上启用。

运行脚本时,如果发生错误,请确认以上几点。

示例脚本:

const {google} = require('googleapis');
const calendar = google.calendar('v3');
var oauth2Client = new google.auth.OAuth2(
  "### client ID ###",
  "### client secret ###",
);
oauth2Client.setCredentials({
  refresh_token: "### refresh token ###",
  // access_token: "#####" // If you want to use access token, please use this.
});
calendar.events.list({
   auth: oauth2Client,
   calendarId: 'primary',
}, function(err, res) {
    if (err) {
        console.log(err);
    } else {
        console.log(res.data);
    }
});

注意:

  • 使用此示例脚本时,请为您的环境设置客户端ID,客户端密码,刷新令牌和calendarId
  • 我确认此示例脚本可与32.0.0版的googleapis配合使用。

参考:

如果我误解了你的问题,对不起。