完整的日历,活动假期和自己的活动



我想混合我自己的事件,并从谷歌日历中检索给定国家/地区的假期。我有我的 API 密钥等。我从 ajax 调用中获取数据,并将事件构建为

     my_events.push({title:name,
                start: moment(date_begin),
                end:moment(date_end)
          });

完美工作。现在我想要假期。在 github 中完整日历的演示中,我看到以下代码:

     googleCalendarApiKey: 'xxx',
     // US Holidays
     events: 'usa__en@holiday.calendar.google.com',

它可以工作(当然是用我自己的钥匙(。

但是现在,我无法理解如何看待my_events和假期。我试过my_events.push({'usa__en@holiday.calendar.google.com'}(不起作用。

我该怎么做?

另一个问题是,我不在美国,我想得到欧洲国家的假期。有谁知道法国,意大利等是否有类似的地址?我尝试了fr,fra__fr,它,ita__it等,但总是得到"notFound">

感谢您的任何指示和解释

您可以使用完整日历添加多个事件源 - 拥有事件源,然后为假日日历添加一个

这是以下代码的小提琴(你必须有一个API密钥!(https://jsfiddle.net/5x2dL5Ls/

/* Modified from http://fullcalendar.io/js/fullcalendar-2.6.0/demos/gcal.html */
$('#calendar').fullCalendar({
  // THIS KEY WON'T WORK IN PRODUCTION!!!
  // To make your own Google API key, follow the directions here:
  // http://fullcalendar.io/docs/google_calendar/
  googleCalendarApiKey: 'PUT_YOUR_API_KEY_HERE',
/* For demo purposes, our hard-coded event source information */
  defaultDay: '2016-02-01',
  events: [{
    title: 'This is a non-google-holiday event',
    start: '2016-02-16',
    end:   '2016-02-20'
  }],
/* For demo purposes */
  eventClick: function(event) {
    // opens events in a popup window
    window.open(event.url, 'gcalevent', 'width=700,height=600');
    return false;
  },
  loading: function(bool) {
    $('#loading').toggle(bool);
  }
});
$('#addSource').click(function() {
  var source = $('#holidayCalendar').val();
  // $('#calendar').fullCalendar('removeEventSource', source);
  $('#calendar').fullCalendar('addEventSource', source);
});
$('#removeSource').click(function() {
  var source = $('#holidayCalendar').val();
  $('#calendar').fullCalendar('removeEventSource', source);
});

我没有找到完整的假期来源列表的良好文档,所以我通过从 calendar.google.com 上的"浏览有趣的日历"链接中抓取数据来制作一个看起来像这样的

[/* ... */,    {
    "title":"Holidays in United States",
    "type":"calendar",
    "did":"ZW4udXNhI2hvbGlkYXlAZ3JvdXAudi5jYWxlbmRhci5nb29nbGUuY29t",
    "country":"US"
}, /* ... */]

然后将该数据中的">did"附加到此 url 上,例如美国假期

https://calendar.google.com/calendar/embed?src=ZW4udXNhI2hvbGlkYXlAZ3JvdXAudi5jYWxlbmRhci5nb29nbGUuY29t

并抓取该页面的"cids":{"the_creator_is_in_here":并提取它...黑客,但得到了日历列表。

对于语言,您可以尝试将"en."更改为其他语言前缀。

例如,"日本假期"可以用英语或日语呈现:

  • en.japanese#holiday@group.v.calendar.google.com
  • ja.japanese#holiday@group.v.calendar.google.com

相关内容

  • 没有找到相关文章