Хотите добавить события API Календаря Google на веб-страницу - PullRequest
0 голосов
/ 05 ноября 2018

Первая работа с API Календаря Google или с API Google в целом. Я пытаюсь автоматически отобразить следующие несколько событий календаря на моей веб-странице. Вот что у меня сейчас -

var myAPIKey = ""; // obviously with my actual API key
var calendarId = ""; // with my calendar ID

function init() {
   alert("init called");   
   gapi.client.setApiKey(myAPIKey);   
   gapi.client.load('calendar', 'v3').then(listUpcomingEvents);
   alert("init call finished");
  }

function listUpcomingEvents() {
 alert("listUpcomingEvents called");
  var optionalArgs = {
    timeMin: (new Date()).toISOString(),
    showDeleted: false,
    singleEvents: true,
    maxResults: 10,
    orderBy: 'startTime'
  };
  alert("optional args set");
  var response = gapi.client.Calendar.Events.list(calendarId, optionalArgs); // Here's the issue
  alert("var response created");
  var events = response.items;
        alert("events arrayed");
        var d_names = ["Mon", "Tues", "Wed","Thur", "Fri", "Sat","Sun"];
        var thisDate = '';
        var thisDay = '';
  if (events.length > 0) {
   for (i = 0; i < events.length; i++) {
      var event = events[i];
     var when = event.start.dateTime;
      if (!when) {
        when = event.start.date;
        thisDate = new Date(when);
        thisDay = thisDate.getDay();
      }
      appendPre(d_names[thisDay] + ': ' + event.summary);
    }
          alert("events appended");
  } else { }
}

Большая часть этого заимствована прямо из примера Google здесь . Это ломается в var response = gapi.client.Calendar.Events.list(calendarId, optionalArgs); т.е. предупреждение после того, как оно не стреляет. У Google изначально это было так же, как var response = Calendar.Events.list(calendarId, optionalArgs);, но я попытался добавить бит gapi.client на тот случай, если это помогло ... не помогло.

Итак, что мне здесь не хватает в том, как вызывать функции календаря API? Я уверен, что это довольно просто / очевидно, я просто не делал этого раньше.

(насколько я могу судить, все необходимые функции API включены?)

Заранее спасибо!

...