我正在尝试做的事情:使用 javascript 从我的网站将事件添加到谷歌日历。
我不能做什么:为谷歌日历 api 找到一个好的教程/演练/示例。我能够找到在 v1 和 v2 api 之间来回链接的所有文档,或者 v3 api 似乎不是基于客户端的。
对于那些好奇的人,我正在开发这个网站:http: //infohost.nmt.edu/~bbean/banweb/index.php
我正在尝试做的事情:使用 javascript 从我的网站将事件添加到谷歌日历。
我不能做什么:为谷歌日历 api 找到一个好的教程/演练/示例。我能够找到在 v1 和 v2 api 之间来回链接的所有文档,或者 v3 api 似乎不是基于客户端的。
对于那些好奇的人,我正在开发这个网站:http: //infohost.nmt.edu/~bbean/banweb/index.php
Google 提供了一个很棒的 JS 客户端库,可以与 Google 的所有基于发现的 API(例如 Calendar API v3)一起使用。我写了一篇博文,介绍了设置 JS 客户端和授权用户的基础知识。
在应用程序中启用基本客户端后,您需要熟悉 Calendar v3 的细节来编写应用程序。我建议两件事:
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()