Asp.net MVC集成Google Calendar API(附Demo源码)
Asp.net MVC集成Google Calendar API(附Demo源码)
Google Calendar是非常方便的日程管理应用,很多人都非常熟悉。Google的应用在国内不稳定,但是在国外使用确实非常频繁。对于Google API的集成是常见的需求。这里介绍如何在MVC程序中集成Google Calendar API.
文章相关源代码GoogleCalendarSample.zip, 由于Google的服务在国内不太稳定,所以,运行程序的过程中有时候会有超时或者无响应的异常,需要多刷新几次页面。
一, 非API方式
可以不使用Google API,直接通过链接,当用户点击链接的时候,就会自动链接到Google Calendar站点,登录成功后,就能看到添加Google Event的界面. 这也是最简单的方式。
链接需要符合特定的格式,比如下面的链接就是一个添加Google event的链接:
- <a href="http://www.google.com/calendar/event?action=TEMPLATE&text=Title&dates=20130928T170000Z/20131030T180000Z&details=description&location=where&trp=true&sprop=website_name&sprop=name:website_address" target="_blank">
<img src="http://www.google.com/calendar/images/ext/gc_button1.gif" border=0></a>
把这个链接放到Html网页中,效果是这样的
点击这个链接, 会提示你登陆google账号,登陆完成之后,就能看到下面的页面:
非常简单. 如果你还是不知道如何创建自己的Event链接,可以看这里, Google有个帮助页面,直接帮你生成你想要的Google Calendar event link
https://support.google.com/calendar/answer/3033039
二,编程方式,调用Google API
1. 申请Google账号,在Google Cloud Console中设置开放Google Calendar API访问。
点击这里进入Google Cloud Console
首先,需要在Google Colud Console页面上创建一个Project.
点击进入Porjct设置,在APIs设置中,将Calendar API的状态设置成ON.
再点击Register apps,注册一个web app
使用OAuth2.0 Client ID的方式来验证,这种验证方式在调用API处理用户账号对应的数据的时候,需要通过在google页面登录获取授权的token,然后程序通过这个授权的token访问API,对用户的Calendar数据处理。
下图中的CLIENT ID, CLIENT SECRET将会在API使用过程中使用到,其中的Redirect URLS指的是当用户使用Google账号登录完成后,跳转到的页面,一般是我们程序中的页面。
2. 设置web.config中Google设置
在Demo源码的web.config文件中,分别把ClientId, ClientSecret和RedirectUri设置成我们申请的值。

- <appSettings>
- <add key="webpages:Version" value="2.0.0.0"/>
- <add key="webpages:Enabled" value="false"/>
- <add key="PreserveLoginUrl" value="true"/>
- <add key="ClientValidationEnabled" value="true"/>
- <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
- <!-- GoogleAPI credentials -->
- <add key="ClientId" value=""/>
- <add key="ClientSecret" value=""/>
- <!-- Update the port of the Redirect URI (don't forget to set this value also in the Google API Console) -->
- <add key="RedirectUri" value="http://localhost:53491/Account/GoogleAuthorization"/>
- </appSettings>

3. 运行Demo
首先我们注册一个登录账号,登录账号的email, 填写我们要操作Google Calendar的Google账号,建议申请一个新的test账号。
注册完成后,转向的首页会显示该账号下的Calendar Events, 所有会先请求得到授权。点击Accept后,就能看到首页了。
首页列出来授权Google账号的Events, 还有Add/Edit/Delete的操作,可以查看对应的源代码。
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】按钮。
如果,您希望更容易地发现我的新博客,不妨点击一下右下角的【关注 Justrun】。
因为,我的写作热情也离不开您的肯定支持。
感谢您的阅读,这里还有你可能感兴趣的文章推荐博客文章。

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名justrun(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
Asp.net MVC集成Google Calendar API(附Demo源码)的更多相关文章
- winserver的consul部署实践与.net core客户端使用(附demo源码)
winserver的consul部署实践与.net core客户端使用(附demo源码) 前言 随着微服务兴起,服务的管理显得极其重要.都知道微服务就是”拆“,把臃肿的单块应用,拆分成多个轻量级的 ...
- asp.net MVC通用权限管理系统-响应式布局-源码
一.Angel工作室简单通用权限系统简介 AngelRM(Asp.net MVC Web api)是基于asp.net(C#)MVC+前端bootstrap+ztree+lodash+jquery技术 ...
- Profession ASP.NET MVC 2.0 NerdDinner示例可运行源码
最近一段时间在看JonGalloway等著作的<Profession ASP.NET MVC 2.0>.本书并没有按照常规的大部头书籍那样,按部就班的介绍MVC的概念等,而是在第一章直接引 ...
- 重磅来袭,开源Asp.Net MVC网上商城BrnShop正式发布,提供源码下载(转)
BrnShop网上商城是以Asp.Net mvc3为基础开发的网上商城,源代码完全开源(企业版的源代码目前还没有完全整理完成,一旦整理完成也全部开源). 啥话也不说了,直接上源码:下载源码(由于公司服 ...
- ASP.NET多页面传递数据,附框架源码
很多时候我们需要把数据传递到多个页面,比如表单提交可以指定提交数据到某个页面,那么关闭某个页面怎么把数据传递到上一个页面或者它的父页面. 在这里我附一段源码用于当前页面关闭指定某个页面刷新. 子页面方 ...
- 物流一站式单号查询之快递鸟API接口(附Demo源码)
连载篇提前看 物流一站式单号查询之快递鸟API接口 物流一站式查询之TrackingMore篇 物流一站式查询之顺丰接口篇 物流一站式查询之快递100 前情提要 前三篇中,我们已经从注册.申请接口.调 ...
- Android 二维码 生成和识别(附Demo源码)
今天讲一下目前移动领域很常用的技术——二维码.现在大街小巷.各大网站都有二维码的踪迹,不管是IOS. Android.WP都有相关支持的软件.之前我就想了解二维码是如何工作,最近因为工作需要使用相关技 ...
- 【转】Android 二维码 生成和识别(附Demo源码)--不错
原文网址:http://www.cnblogs.com/mythou/p/3280023.html 今天讲一下目前移动领域很常用的技术——二维码.现在大街小巷.各大网站都有二维码的踪迹,不管是IOS. ...
- ASP .NET MVC 之Entity Framework入门教程及源码
本文主要的目的是 1. 说明Entity Framework Power Tools如何使用. 2. Entity Framework 快速门 实验环境: OS: Windows Server 20 ...
随机推荐
- Android自己定义组件系列【8】——面膜文字动画
我们掩盖文字动画Flash中非经货共同体共同,由于Android应用程序开发人员做你想要做这个动画在应用程序中去?本文中,我们看的是如何自己的定义ImageView来实现让一张文字图片实现文字的遮罩闪 ...
- linux_设置开机自启动程序脚本
设置开机自启动
- Cookie基础
周末百度笔试,答得题都会,就是不仔细不心细,提前一个小时交卷子,想起来就已经晚了.问了一个cookie的问题,我SB的蒙住了,于是乎,似乎是跪掉了,回来后总结了下Cooke的相关问题.###获取coo ...
- 隐藏Console形式无效(继续1)
[2014/10/19 23:57 ] :由port主机遥控. 该程序的执行后,计划自己主动开放之机999port,其他计算机将能够通过999port机器的操作. 程序中使用的到的命令: telne ...
- 教你一步一步部署.net免费空间OpenShift系列之一------帐号注册和验证
前几天有博友发布了一篇文章<一键部署mono 免费空间支持ASP.NET MVC 再也不担心伙食费换空间了>,支持MVC3和域名绑定,觉得不错,于是自己实践了一下,发现自己实际遇到的问题真 ...
- 经常使用git命令集
//创建本地仓库 mkdir git_root;cd git_root;git init // //查看 git status . git log git log ./kernel/driver/ g ...
- ios MKNetworkKit 的使用
常用框架比如:AFNetworking,ASIHttpRequest,SDWebImage,MKNetWorKit等. iOS5已出来这么久了,而ASIHttpRequest的作者已经申明不更新了,在 ...
- 虚拟局域网(VLAN)组态
图1 实验拓扑图 实验内容: (一)分别把交换机命名为SWA,SWB. (二)划分虚拟局域网vlan,并静态地把port划分到valn中. 第一.使用两种方法划分vlan. l 在全局模式下划分vl ...
- Android超炫日期日历控件:TimesSquare
先看效果图: 使用说明: 在布局文件里: <com.squareup.timessquare.CalendarPickerView android:id="@+id/calendar_ ...
- ASPX的Timer位置没放正确,导致整页刷新,而不是UpdatePanel里的内容刷新。
提示:Timer应该放在UpdatePanel的ContentTemplate标签里,才行.放在外面的话,会导致整页刷新.