Google Calendar Sidebar Gadgets

XML ファイル

ざっくり言うと、こんな感じの XML を書く

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs 
	title="Calender Sample0" 
	author="minaco.net"
	author_email="m.minaco@gmail.com">
<Require feature="google.calendar-0.5" />
<Require feature="google.calendar-0.5.read"/>
</ModulePrefs>

<Content type="html">
 <![CDATA[
<!-- html の記述 -->
Hello
 ]]>
</Content>
</Module>

Labs にある「年ビュー」ガジェットみたいにページを移動する

Content をふたつ書いてます。で、

gadgets.views.requestNavigateTo(new gadgets.views.View('canvas'), params);

で移動。

<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs 
	title="Calender Sample1" 
	author="minaco.net"
	author_email="m.minaco@ gmail.com"
	scrolling="true"
    height="280">
<Require feature="google.calendar-0.5" />
<Require feature="google.calendar-0.5.read"/>
<Require feature="views" />
</ModulePrefs>

<Content type="html" view="home">
<![CDATA[
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<body>
<head>
<script type="text/javascript">
	var init = function() {
	}

	function moveView() {
		var params = {
			name: "ぽち"
		};
		gadgets.views.requestNavigateTo(new gadgets.views.View('canvas'), params);		
	}
	gadgets.util.registerOnLoadHandler(init);
</script>
</head>
<body>
<input type="button" value="移動します" onClick="moveView();">

</body>
</html>
]]>
</Content>

<Content type="html" view="canvas">
<![CDATA[
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<body>
<head>
<style type="text/css">
html { 
	padding: 0px;
	margin: 0px;
	height: 100%;
}

* {
	padding: 0px;
	margin: 0px;
}

body {
	background-color: #ffffff;
}
</script>
<script type="text/javascript">
	var init = function() {		
		var params = gadgets.views.getParams();
		name = params ? (params.name ? params.name : null) : null;
		document.getElementById("targetName").innerHTML = "Hello, " + name;
	}
	gadgets.util.registerOnLoadHandler(init);
</script>
</head>
<body>
<div id="targetName"></div>
</body>
</html>
]]>
</Content>
</Module>

日付

getEvents でイベント取得する時は、こんな感じ。calendars にカレンダーのアドレスを。複数指定可能。

var startDate = {year:2010, month:3, date:1};
var endDate = {year:2010, month:3, date:29};
var calendars = ['hoge@group.calendar.google.com'];
var optionalParms = ['details'];
google.calendar.read.getEvents(eventCallback, calendars, startDate, endDate, optionalParams);

JavaScript で日付をゴニョゴニョいじったりもしたときは、こんな感じで使ってみました。
getEvents の第二引数を selected にすると、現在選択されているカレンダーを対象としてくれるようです。

var startMonth = 4;
var startDay = 4;

var jsStartDate = new Date(2010, startMonth, startDay, 0, 0, 0);
var startDate = google.calendar.utils.fromDate(jsStartDate);

var jsEndDate = new Date(2010, 4, 15, 23, 59, 59);
var endDate = google.calendar.utils.fromDate(jsEndDate);

var optionalParms = ['details'];
google.calendar.read.getEvents(callbackFunction, "selected", startDate, endDate, optionalParms);

参考サイト


Comment



Counter: 3978, today: 1, yesterday: 0

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2013-09-24 (火) 14:56:09 (1522d)