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 ...
随机推荐
- hdu Jungle Roads(最小生成树)
Problem Description The Head Elder of the tropical island of Lagrishan has a problem. A burst of for ...
- 查询出各个学科的前3名的同学信息的Sql
查找各个学科的成绩前3名的学生信息Sql,有2种方法,一种是利用sql的row_number() over()函数,另一种是用子查询, 表设计如下 如果不考虑各个学科的成绩有并列的情况的话,有如下两种 ...
- Redis实现高并发分布式序列号
使用Redis实现高并发分布式序列号生成服务 序列号的构成 为建立良好的数据治理方案,作数据掌握.分析.统计.商业智能等用途,业务数据的编码制定通常都会遵循一定的规则,一般来讲,都会有自己的编码规则和 ...
- LCS 小结
转载链接:http://www.cnblogs.com/PJQOOO/p/3897745.html 第一步:先计算最长公共子序列的长度. 实现第一步: 设一个C[i][j]: 保存Xi与Yj的LCS的 ...
- ABP模块系统
ABP模块系统 基于DDD的现代ASP.NET开发框架--ABP系列之4.ABP模块系统 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP ...
- 数据结构之Huffman树与最优二叉树
最近在翻炒一些关于树的知识,发现一个比较有意思的二叉树,huffman树,对应到离散数学中的一种名为最优二叉树的路径结构,而Huffman的主要作用,最终可以归结到一种名为huffman编码的编码方式 ...
- Cocos2d-x学习笔记(两)Cocos2d-x总体框架
原创文章.转载请注明出处:http://blog.csdn.net/sfh366958228/article/details/38680123 前言 上一节我们简单分析了HelloWorldproje ...
- linux_之sed用法
sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以 将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为: sed ...
- Cannot find ActionMappings or ActionFormBeans collection
出现此问题.首先检查web.xml,的主要结构被认为是在下面的图: 再检查struts-config.xml.确认是否有<form-beans>和<action-mappings&g ...
- Ajax得知(两)—— 一个简单的Ajax示例
通过部分博客认识Ajax之后,我们通过一个简单的实例来消化消化理论知识,一睹Ajax的庐山真面目. 1.实例功能: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...