2016-02-16 3 views
0

Я хочу смешивать свои собственные события и извлекать из календарей Google праздники для данной страны. У меня есть свой API ключ и т.д .. я получаю мои данные из Ajax вызовов, и строить свои события, какполный календарь, события праздники и собственные события

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

работает отлично. Теперь я хочу праздников. В демо-версии полного календаря в GitHub, я вижу следующий код:

 googleCalendarApiKey: 'xxx', 
    // US Holidays 
    events: '[email protected]', 

Он работает (с моим собственным ключом, конечно).

Но теперь я не могу понять, как видят как my_events, так и праздники. Я попробовал my_events.push ({'[email protected]'}) не работает.

Как это сделать?

Другой вопрос: я не в США, я хотел бы получить европейские праздники. Кто-нибудь знает, есть ли подобный адрес для Франции, Италии и т. Д.? Я попробовал пт, fra__fr, это, ita__it и т.д., но всегда есть «NOTFOUND»

Спасибо за любой указатель и объяснения

+0

Я нашел календари для Франции (french__fr), Италии, Германии и Испании. Судом и ошибкой, есть ли официальный список? – Pat070

ответ

0

Вы можете добавить несколько источников событий с fullcalendar - иметь свой источник событий, а затем добавьте к календарь праздников (ы)

Вот скрипка для кода ниже (вы должны иметь ключ 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); 
}); 

Я не нашел хорошую документацию для полного списка источников для отдыха, так Я сделал один, очистив данные f ром «Просмотреть интересные календари» ссылка на calendar.google.com, который выглядел как этот

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

Затем Добавляя «сделал» из этих данных на этот адрес, пример США праздники

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

и соскабливая эту страницу для «cids»: {«the_creator_is_in_here»: и извлечение ее ... Hackish, но получил список календарей.

Для языков вы можете попробовать изменить «en». на другой язык.

Например "Отдых в Японии" могут быть оказаны на английском или японском:

+0

спасибо большое! заставил его работать в моем коде. И я сделаю так, как вы, чтобы найти календари не на английском, а на их родных языках. – Pat070

+0

@smod На самом деле ваш список идеален! изменение en по языковому коду этой страны - et voilà, отображение календарей на этом языке! фантастика ! Еще раз спасибо – Pat070

+0

Хорошая сделка.Я просто писал комментарий для языков, пытаясь «испанский», «ja» для японского, «en» английский, «fr» для французского, «it italian» и т. Д., Похоже, что это работает нормально. – smcd