需要好的例子: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的主要内容,如果未能解决你的问题,请参考以下文章

scss btn大小的goog例子,状态定义

需要好的 OCR 来打印源代码列表,有啥想法吗?

Twitter OAuth (PHP):需要好的基本示例才能开始

从机器学习到学习的机器,数据分析算法也需要好管家

IoT战略:BEM 战略解码 - 好的战略需要好的执行

JavaScript中的简单浮点数学