需要很好的例子:Javascript中的Google Calendar API

时间:2012-07-23 06:32:08

标签: google-calendar-api

我正在尝试做什么: 使用javascript从我的网站向Google日历添加活动。

我不能做的事: 找一个好的教程/浏览/示例谷歌日历api。我已经能够在v1和v2 api之间来回找到所有文档,或者v3 api似乎不是基于客户端的。

对于那些好奇的人,我正在开发这个网站: http://infohost.nmt.edu/~bbean/banweb/index.php

2 个答案:

答案 0 :(得分:57)

Google提供了一个出色的JS客户端库,可以与所有Google基于发现的API(例如Calendar API v3)配合使用。我编写了一个blog post,其中涵盖了设置JS客户端和授权用户的基础知识。

在应用程序中启用基本客户端后,您需要熟悉Calendar v3的具体细节才能编写应用程序。我建议两件事:

  • APIs Explorer会显示API中可用的调用。
  • Chrome操作系统的Javascript控制台会在您操作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);
});

希望这足以让你开始。

答案 1 :(得分:0)

这应该可以解决问题

    //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()