需要好的例子:Javascript 中的 Google Calendar API
Posted
技术标签:
【中文标题】需要好的例子:Javascript 中的 Google Calendar API【英文标题】:Need good example: Google Calendar API in Javascript 【发布时间】:2012-07-21 09:21:19 【问题描述】:我正在尝试做的事情: 使用 javascript 从我的网站向谷歌日历添加事件。
我不能做的事: 为谷歌日历 api 找到一个好的教程/演练/示例。我能够找到在 v1 和 v2 api 之间来回链接的所有文档,或者 v3 api 似乎不是基于客户端的。
对于那些好奇的人,我正在开发这个网站: http://infohost.nmt.edu/~bbean/banweb/index.php
【问题讨论】:
@Galdchef:禁止访问infohost.nmt.edu/~bbean/banweb/index.php 很抱歉在原始问题中发布了指向我网站的链接(格式错误)。 @RamonAraujo 该网站已移至 beanweb.us。 【参考方案1】:Google 提供了一个出色的 JS 客户端库,可与 Google 的所有基于发现的 API(例如 Calendar API v3)配合使用。我写了一个blog post,其中涵盖了设置 JS 客户端和授权用户的基础知识。
在您的应用程序中启用基本客户端后,您需要熟悉 Calendar v3 的细节来编写您的应用程序。我建议两件事:
APIs Explorer 将显示 API 中可用的调用。 当您操作gapi.client
时,Chrome 开发人员工具的 Javascript 控制台会自动建议方法名称。例如,开始输入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);
);
希望这足以让您入门。
【讨论】:
这是一个很好的相关资源:https://developers.google.com/google-apps/calendar/v3/reference/events#resource
嗨,我尝试使用资源来获取从某个日期到另一个日期的事件,但我不知道为什么我在控制台日志中收到错误消息。 “对象代码:401,消息:“需要登录”,数据:数组[1],错误:对象”
谢谢,这让我在 5 分钟内启动并运行。
很好的例子,即使我在 4 年后加入。我不敢相信这些东西的实际例子有多薄。没有关于如何在 Javascript 中使用删除功能的示例。太多的 Google API(当在 Google Apps 中使用时)似乎在尝试一些东西,直到它在文档中没有可靠、可行的示例时才能工作。
美好的一天!我想知道如果没有提供 JS 文件,这是否可行?我的意思只是一个简单的 JS 文件,它位于文件系统中,并通过一个简单的 html 在浏览器中打开。我试过了,但我没有运气。我在想我错过了什么。【参考方案2】:
这应该可以解决问题
//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()
【讨论】:
以上是关于需要好的例子:Javascript 中的 Google Calendar API的主要内容,如果未能解决你的问题,请参考以下文章