Нужен хороший пример: Google Calendar API в Javascript

Что я пытаюсь сделать: добавить события в календарь Google с моего сайта, используя JavaScript.

Что я не могу сделать: найти хороший учебник / пройти / пример для API календаря Google. Вся документация, в которой я смог найти ссылки между API v1 и v2, или API v3, похоже, не основаны на клиенте.

Для тех, кому интересно, сайт, для которого я разрабатываю это: http://infohost.nmt.edu/~bbean/banweb/index.php

2 ответа

Решение

Google предоставляет отличную клиентскую библиотеку JS, которая работает со всеми API, основанными на обнаружении Google (такими как Calendar API v3). Я написал пост в блоге, который описывает основы настройки клиента JS и авторизации пользователя.

Как только вы включите базовый клиент в своем приложении, вам необходимо ознакомиться со спецификой Calendar v3, чтобы написать свое приложение. Я предлагаю две вещи:

  • APIs Explorer покажет вам, какие вызовы доступны в API.
  • Консоль Javascript инструментов разработчика Chrome будет автоматически предлагать имена методов при манипулировании gapi.client, Например, начать печатать gapi.client.calendar.events. и вы должны увидеть набор возможных дополнений (вам понадобится insert метод).

Вот пример того, как будет выглядеть вставка события в JS:

var resource = {
  "summary": "Appointment",
  "location": "Somewhere",
  "start": {
    "dateTime": "2011-12-16T10:00:00.000-07:00"
  },
  "end": {
    "dateTime": "2011-12-16T10:25:00.000-07:00"
  }
};
var request = gapi.client.calendar.events.insert({
  'calendarId': 'primary',
  'resource': resource
});
request.execute(function(resp) {
  console.log(resp);
});

Надеюсь, этого достаточно, чтобы вы начали.

это должно сработать

          //async function to handle data fetching
    async function getData () {
    //try catch block to handle promises and errors
    try {
        const calendarId = ''
        const myKey = ''
        //using await and fetch together as two standard ES6 client side features to extract the data
        let apiCall = await fetch('https://www.googleapis.com/calendar/v3/calendars/' + calendarId+ '/events?key=' + myKey)
        //response.json() is a method on the Response object that lets you extract a JSON object from the response
        //response.json() returns a promise resolved to a JSON object
        let apiResponse = await apiCall.json()
        console.log(apiResponse)
    } catch (error) {
        console.log(error)
    }
}
getData()
Другие вопросы по тегам