calendar - 谷歌日历 API 不返回事件列表

标签 calendar google-api google-calendar-api

最近在 Google 日历中添加新事件并尝试从 Google 日历 API 获取它后,我从未获得我帐户的主日历 ID 的新事件列表。

我也尝试从开发者控制台获取:
https://developers.google.com/google-apps/calendar/v3/reference/events/list#try-it
即使存在 future 事件,它也会提供与响应相同的空项目列表。

但我能够获取其他日历列表的事件列表。例如。假期,来自 friend 的共享日历等。

最佳答案

尝试添加 singleEvents:true根据您的要求。

我遇到了同样的问题。在我的情况下,使用 Javascript,这是有效的(返回几个单一的非重复事件):

  var calendar = googleapis.calendar('v3');
  calendar.events.list({
    auth: auth,
    calendarId: 'primary',
    timeMin: (new Date()).toISOString(),
    maxResults: 10,
    singleEvents: true,
    orderBy: 'startTime'
  }, function(err, response) {
    if (err) {
      console.log('The API returned an error: ' + err);
      return callback(err);
    }
    console.log(response); 
    var events = response.items;
    if (events.length == 0) {
      console.log('No upcoming events found.');
    } else {
      console.log('Upcoming 10 events:');
      for (var i = 0; i < events.length; i++) {
        var event = events[i];
        var start = event.start.dateTime || event.start.date;
        console.log('%s - %s', start, event.summary);
      }
      return callback(null, events); 
    }
  });

但这不会(不返回任何事件,包括那些在“主要”日历上并且是单一的、非重复发生的事件)。与上述代码的唯一区别是 singleEvents参数被注释掉,所以它的值将默认为 false .
  var calendar = googleapis.calendar('v3');
  calendar.events.list({
    auth: auth,
    calendarId: 'primary',
    timeMin: (new Date()).toISOString(),
    maxResults: 10,
    //singleEvents: true,
    orderBy: 'startTime'
  }, function(err, response) {
    if (err) {
      console.log('The API returned an error: ' + err);
      return callback(err);
    }
    console.log(response); 
    var events = response.items;
    if (events.length == 0) {
      console.log('No upcoming events found.');
    } else {
      console.log('Upcoming 10 events:');
      for (var i = 0; i < events.length; i++) {
        var event = events[i];
        var start = event.start.dateTime || event.start.date;
        console.log('%s - %s', start, event.summary);
      }
      return callback(null, events); 
    }
  });

关于calendar - 谷歌日历 API 不返回事件列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24999541/

相关文章:

asp.net - 在 ASP.NET MVC3 中使用 jQuery 的具有可点击日期的事件日历

jquery - 将信息添加到 jquery datepicker 日历中的日期数字

android - 如何在android中获取用户日期时间设置

google-api - 如何使用 Google API 在 Google Storage 上创建一个空文件夹?

android - 为什么 Google 使用适用于 Android 的 Google API 从版本 12.0.1 跳到 15.0.0?

ios - 本地 EKCalendar 保存没有错误,消失

google-api - 使用具有 Java 和 Oauth 身份验证的 Gmail API 发送自动电子邮件

zend-framework - 使用 Zend_Gdata_Calendar() 在 Google 日历上获取 "Forbidden Error 403"

java - 日历 API 调用开始产生 "SSL peer shut down"

javascript - Gdata JavaScript Authsub 继续重定向