<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY &#187; google</title>
	<atom:link href="http://blog.wu-boy.com/tag/google/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.wu-boy.com</link>
	<description>介紹一堆美食日記，生活日記，電腦筆記</description>
	<lastBuildDate>Tue, 27 Jul 2010 14:04:30 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google Chrome 支援超過 40,000 Extensions! with Greasemonkey</title>
		<link>http://blog.wu-boy.com/2010/02/03/1997/</link>
		<comments>http://blog.wu-boy.com/2010/02/03/1997/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 15:33:13 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=1997</guid>
		<description><![CDATA[看到 Google Chrome Blog 發表的Google Chrome 支援超過 40,000 Extensions!，當 Google Chrome 瀏覽器剛出來的時候，造成 Web Developer 一些震撼，因為 Chrome 強調的是擁有快速的 Javascript 引擎，以及快速的啟動，Fast start-up、Fast loading、Fast search，也因此讓很多設計網站的工程師必須把 Chrome 的支援性考慮進去，但是由於剛推出的瀏覽器，沒有任何外掛功能，我本身用 FireFox 瀏覽器很多年了，FireFox 的附加元件讓許多程式設計師投入開發，也製造出很多方便的附加元件來讓大家使用，例如：FireBug、Gmail Manager、Greasemonkey…，然而 FireFox 最方便的就是 Greasemonkey 此附加元件，使用者可以撰寫簡單 Javascript 語言來跟指定網站進行元件控制，現在 Google 工程師聽到我們的聲音了，Google Chrome 4 加入 Greasemonkey user scripts 功能，大家可以到 userscripts.org 下載超過 40,000 script 安裝到 Chrome 瀏覽器。您可以在 blogger 使用 emoticons，大家可以去參考看看。
<span class="readmore"><a href="http://blog.wu-boy.com/2010/02/03/1997/" title="Google Chrome 支援超過 40,000 Extensions! with Greasemonkey" target="_blank">...詳全文（共823字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>看到 <a href="http://blog.chromium.org/">Google Chrome Blo</a>g 發表的<a href="http://blog.chromium.org/2010/02/40000-more-extensions.html">Google Chrome 支援超過 40,000 Extensions!</a>，當 <a href="http://www.google.com/chrome">Google Chrome</a> 瀏覽器剛出來的時候，造成 Web Developer 一些震撼，因為 Chrome 強調的是擁有快速的 Javascript 引擎，以及快速的啟動，Fast start-up、Fast loading、Fast search，也因此讓很多設計網站的工程師必須把 Chrome 的支援性考慮進去，但是由於剛推出的瀏覽器，沒有任何外掛功能，我本身用 <a href="http://www.mozilla.com/en-US/firefox/upgrade.html">FireFox</a> 瀏覽器很多年了，FireFox 的<a href="https://addons.mozilla.org/zh-TW/firefox/">附加元件</a>讓許多程式設計師投入開發，也製造出很多方便的附加元件來讓大家使用，例如：<a href="https://addons.mozilla.org/zh-TW/firefox/addon/1843">FireBug</a>、<a href="https://addons.mozilla.org/zh-TW/firefox/addon/1320">Gmail Manager</a>、<a href="https://addons.mozilla.org/zh-TW/firefox/addon/748">Greasemonkey</a>…，然而 FireFox 最方便的就是 <a href="http://en.wikipedia.org/wiki/Greasemonkey">Greasemonkey</a> 此附加元件，使用者可以撰寫簡單 Javascript 語言來跟指定網站進行元件控制，現在 Google 工程師聽到我們的聲音了，Google Chrome 4 加入 Greasemonkey user scripts 功能，大家可以到 <a href="http://www.userscripts.org/">userscripts.org</a> 下載超過 40,000 script 安裝到 Chrome 瀏覽器。您可以在 blogger 使用 <a href="http://userscripts.org/scripts/show/67384">emoticons</a>，大家可以去參考看看。</p>
<p>由於 Chrome 支援了 Greasemonkey，所以趕快把 FireFox 所安裝的 script，也安裝到 Chrome，可是我發現之前 <a href="http://blog.gslin.org">DarkKiller</a> 大神寫的 <a href="http://userscripts.org/scripts/show/12267">Wretch Album Expander</a> 已經不能用了，所以我將它實做到 Chrome，可以從這裡下載安裝：<a href="http://userscripts.org/scripts/show/67929">Wretch Album Expander for Google Chrome or FireFox</a>，平時自己偶而會看看<a href="http://www.wretch.cc">無名小站</a>，所以也是方便自己觀看照片，此 script 也可以安裝在 FireFox 喔。這樣大家就不用再看圖片還要一張一張慢慢點，只要負責按換頁就可以了 ^^。</p>
<p>來測試看看，隨便找一本無名相簿：<a href="http://www.wretch.cc/album/album.php?id=lafiteho&#038;book=53&#038;page=2">馬甲‧小葵 </a>，畫面：<a href="http://farm3.static.flickr.com/2744/4327379085_f9a2834b1d_o.gif" title="馬甲‧小葵 - 2010-02-03 23 27 25 (by appleboy46)">點我觀看</a></p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2009/03/03/910/" title="[Wordpress] post 文章不能使用 javascript 語法 ">[Wordpress] post 文章不能使用 javascript 語法  (1)</a></li><li><a href="http://blog.wu-boy.com/2009/02/11/754/" title="[FireFox] 安裝 google toolbar 使用 chrome Start page">[FireFox] 安裝 google toolbar 使用 chrome Start page (0)</a></li><li><a href="http://blog.wu-boy.com/2008/08/14/308/" title="[教學]網頁簡體繁體轉換程式(Google AJAX Language API)">[教學]網頁簡體繁體轉換程式(Google AJAX Language API) (0)</a></li><li><a href="http://blog.wu-boy.com/2010/05/08/2152/" title="[筆記] iframe 父頁子頁呼叫函式 parent call function">[筆記] iframe 父頁子頁呼叫函式 parent call function (0)</a></li><li><a href="http://blog.wu-boy.com/2010/05/02/2145/" title="[jQuery] 解決 IE6 PNG 透明背景 (Supersleight jQuery Plugin for Transparent PNGs in IE6)">[jQuery] 解決 IE6 PNG 透明背景 (Supersleight jQuery Plugin for Transparent PNGs in IE6) (2)</a></li><li><a href="http://blog.wu-boy.com/2010/04/13/2130/" title="[jQuery] AjaxFileUpload : Multiple File Upload plugin">[jQuery] AjaxFileUpload : Multiple File Upload plugin (5)</a></li><li><a href="http://blog.wu-boy.com/2010/01/29/1972/" title="Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6">Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6 (0)</a></li><li><a href="http://blog.wu-boy.com/2010/01/17/1957/" title="How to install Google Web Toolkit  with Eclipse">How to install Google Web Toolkit  with Eclipse (2)</a></li><li><a href="http://blog.wu-boy.com/2010/01/05/1943/" title="Using firebug for firefox 除錯 javascript">Using firebug for firefox 除錯 javascript (1)</a></li><li><a href="http://blog.wu-boy.com/2009/11/25/1861/" title="[Javascript] 在函數裡設定參數預設值">[Javascript] 在函數裡設定參數預設值 (0)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2010/02/03/1997/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Chrome 推出 4.0 穩定版 &amp; Mozilla 推出 FireFox 3.6</title>
		<link>http://blog.wu-boy.com/2010/01/29/1972/</link>
		<comments>http://blog.wu-boy.com/2010/01/29/1972/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 04:07:55 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[Chrmoe]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=1972</guid>
		<description><![CDATA[Mozilla 在上禮拜 (2010.01.22) 推出了 FireFox 3.6，大家可以下載測試效能如何，也可以 follow 狐耳摩莎的 Plurk 來收到 MozTW 的最新資訊，這篇重點不是在 FireFox，而是 Google 正式推出 Windows 版本 new Chrome 4.0 stable release，4.0 版本已經可以正式使用 Google Extensions，之前在3.0版本，只能安裝 Chrome Beta 版本才可以使用 extension，現在只要將 Windows Google Chrome 升級成 Stable 版本，就可以全面使用 Extensions，可以使用手動升級，或者是在下禮拜就會自動 update 到最新版本。
<span class="readmore"><a href="http://blog.wu-boy.com/2010/01/29/1972/" title="Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6" target="_blank">...詳全文（共424字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mozilla.com/">Mozilla</a> 在上禮拜 (2010.01.22) 推出了 <a href="http://moztw.org/firefox/releases/3.6/">FireFox 3.6</a>，大家可以下載測試效能如何，也可以 follow <a href="http://www.plurk.com/foxmosa">狐耳摩莎的 Plurk</a> 來收到 MozTW 的最新資訊，這篇重點不是在 FireFox，而是 <a href="http://www.google.com">Google</a> 正式推出 Windows 版本 <a href="http://chrome.blogspot.com/2010/01/over-1500-new-features-for-google.html">new Chrome 4.0 stable release</a>，4.0 版本已經可以正式使用 <a href="http://code.google.com/chrome/extensions/">Google Extensions</a>，之前在3.0版本，只能安裝 <a href="http://www.google.com/landing/chrome/beta/">Chrome Beta</a> 版本才可以使用 extension，現在只要將 Windows Google Chrome 升級成 Stable 版本，就可以全面使用 Extensions，可以使用<a href="http://www.google.com/support/chrome/bin/answer.py?hl=en&#038;answer=95414">手動升級</a>，或者是在下禮拜就會自動 update 到最新版本。</p>
<p><a href="http://www.flickr.com/photos/appleboy/4305644720/" title="Google Chrome 4.0 (by appleboy46)"><img src="http://farm3.static.flickr.com/2710/4305644720_fde6433a9c.jpg" title="Google Chrome 4.0 (by appleboy46)" alt="Google Chrome 4.0 (by appleboy46)" width="500" height="249" /></a></p>
<p>最後可以參考 <a href="http://blog.ericsk.org/">ericsk</a> 大大所寫的<a href="http://blog.ericsk.org/archives/1389">從開發者角度看 Chrome 4 的推出</a></p>
<p>Reference:<br />
<a href="http://googlecode.blogspot.com/2010/01/extensibility-new-html-and-javascript.html">Extensibility + new HTML and JavaScript APIs for Google Chrome</a><br />
<a href="http://blog.chromium.org/2010/01/more-resources-for-developers.html">More Resources for Developers</a></p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2010/02/03/1997/" title="Google Chrome 支援超過 40,000 Extensions! with Greasemonkey">Google Chrome 支援超過 40,000 Extensions! with Greasemonkey (1)</a></li><li><a href="http://blog.wu-boy.com/2010/01/17/1957/" title="How to install Google Web Toolkit  with Eclipse">How to install Google Web Toolkit  with Eclipse (2)</a></li><li><a href="http://blog.wu-boy.com/2009/06/06/1421/" title="[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換">[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/04/05/1129/" title="New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案">New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案 (2)</a></li><li><a href="http://blog.wu-boy.com/2009/03/27/1081/" title="[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件">[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/26/1075/" title="[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設">[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/07/940/" title=" Google App Engine SDK：python 基本教學安裝"> Google App Engine SDK：python 基本教學安裝 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/03/03/910/" title="[Wordpress] post 文章不能使用 javascript 語法 ">[Wordpress] post 文章不能使用 javascript 語法  (1)</a></li><li><a href="http://blog.wu-boy.com/2009/02/27/840/" title="[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars">[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars (2)</a></li><li><a href="http://blog.wu-boy.com/2009/02/21/819/" title="[google] Gmail Multiple Inboxes 支援多重資料夾">[google] Gmail Multiple Inboxes 支援多重資料夾 (0)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2010/01/29/1972/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to install Google Web Toolkit  with Eclipse</title>
		<link>http://blog.wu-boy.com/2010/01/17/1957/</link>
		<comments>http://blog.wu-boy.com/2010/01/17/1957/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 11:27:12 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[Google]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Web Toolkit]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=1957</guid>
		<description><![CDATA[Google Web Toolkit (簡稱：GWT)是先以 Java 語言編寫 AJAX 應用程式網頁，然後在編譯成最佳化 Javascript，不但幫助了剛入門 Javascrit，然後又需要撰寫 AJAX 應用程式的工程師很大的幫助，不僅如此，Google App Engine 也提供了 Java 跟 Python 環境，整合了 GWT，讓您可以上傳到 GAE 的空間進行測試，GWT 目的是產生具有高效能性的 Web 應用程式，您不需要是 Javascript 專家也可以做到，GWT 用在 Google 相當多的服務，例如 Google Wave, 新版的 Google AdWords 可以參考這裡更多實際範例。它是開放姓原始碼(open source)，完全免費，您也可以參與 GWT 的開發。
<span class="readmore"><a href="http://blog.wu-boy.com/2010/01/17/1957/" title="How to install Google Web Toolkit  with Eclipse" target="_blank">...詳全文（共615字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/webtoolkit/">Google Web Toolkit</a> (簡稱：GWT)是先以 Java 語言編寫 AJAX 應用程式網頁，然後在編譯成最佳化 Javascript，不但幫助了剛入門 Javascrit，然後又需要撰寫 AJAX 應用程式的工程師很大的幫助，不僅如此，<a href="http://code.google.com/appengine/">Google App Engine</a> 也提供了 Java 跟 Python 環境，整合了 GWT，讓您可以上傳到 GAE 的空間進行測試，GWT 目的是產生具有高效能性的 Web 應用程式，您不需要是 Javascript 專家也可以做到，GWT 用在 Google 相當多的服務，例如 <a href="https://wave.google.com/">Google Wave</a>, 新版的 <a href="https://adwords.google.com/">Google AdWords</a> 可以參考<a href="http://code.google.com/webtoolkit/examples/#real-world-projects" target="_blank">這裡</a>更多實際範例。它是開放姓原始碼(open source)，完全免費，您也可以參與 GWT 的開發。</p>
<p><a href="http://code.google.com/intl/en/eclipse/index.html">Google Plugin for Eclipse</a> 支援 <a href="http://code.google.com/webtoolkit">Google Web Toolkit</a> 跟 <a href="http://code.google.com/appengine">Google App Engine</a> 開發，我們可以直接安裝此 Plugin 就可以開始上手 GWT，當製作完成之後，就可以上傳到 GAE，直接打開提供的網址就可以看到成果了。</p>
<p>首先安裝 <a href="http://code.google.com/intl/en/eclipse/index.html">Google Plugin for Eclipse</a>，先去下載 Eclipse 3.5 (Galileo) 最新版，打開 Eclipse</p>
<p>1. 選擇 Help -&gt; Install New Software<br />
<a title="Google Web Toolkit (by appleboy46)" href="http://www.flickr.com/photos/appleboy/4279125424/"><img title="Google Web Toolkit (by appleboy46)" src="http://farm5.static.flickr.com/4006/4279125424_e4a129185e.jpg" alt="Google Web Toolkit (by appleboy46)" width="500" height="281" /></a><br />
2. 在 Work With: 填入 http://dl.google.com/eclipse/plugin/3.5<br />
<a title="Google Web Toolkit (by appleboy46)" href="http://www.flickr.com/photos/appleboy/4278377917/"><img title="Google Web Toolkit (by appleboy46)" src="http://farm3.static.flickr.com/2683/4278377917_2d4dbd0a4c.jpg" alt="Google Web Toolkit (by appleboy46)" width="500" height="428" /></a><br />
3. 將 Plugin 跟 SDKS 全部選取，接下來按下一步就可以完成</p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2010/02/03/1997/" title="Google Chrome 支援超過 40,000 Extensions! with Greasemonkey">Google Chrome 支援超過 40,000 Extensions! with Greasemonkey (1)</a></li><li><a href="http://blog.wu-boy.com/2010/01/29/1972/" title="Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6">Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/06/06/1421/" title="[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換">[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/04/05/1129/" title="New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案">New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案 (2)</a></li><li><a href="http://blog.wu-boy.com/2009/03/27/1081/" title="[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件">[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/26/1075/" title="[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設">[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/07/940/" title=" Google App Engine SDK：python 基本教學安裝"> Google App Engine SDK：python 基本教學安裝 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/03/03/910/" title="[Wordpress] post 文章不能使用 javascript 語法 ">[Wordpress] post 文章不能使用 javascript 語法  (1)</a></li><li><a href="http://blog.wu-boy.com/2009/02/27/840/" title="[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars">[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars (2)</a></li><li><a href="http://blog.wu-boy.com/2009/02/21/819/" title="[google] Gmail Multiple Inboxes 支援多重資料夾">[google] Gmail Multiple Inboxes 支援多重資料夾 (0)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2010/01/17/1957/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換</title>
		<link>http://blog.wu-boy.com/2009/06/06/1421/</link>
		<comments>http://blog.wu-boy.com/2009/06/06/1421/#comments</comments>
		<pubDate>Sat, 06 Jun 2009 03:08:32 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[mail]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=1421</guid>
		<description><![CDATA[最近在 Gmail Lab 看到發布了許多新功能，都蠻好用的，加速搜尋郵件內容，收件者，寄件者，郵件內容語言轉換，匯入其他郵件的通訊名單…等，進階搜尋是這之前就開發好得功能，可以在 search operators 這篇裡面找到相關的用法，簡單來說底下有個例子：
<span class="readmore"><a href="http://blog.wu-boy.com/2009/06/06/1421/" title="[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換" target="_blank">...詳全文（共670字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>最近在 <a href="http://gmailblog.blogspot.com/">Gmail Lab</a> 看到發布了許多新功能，都蠻好用的，加速搜尋郵件內容，收件者，寄件者，郵件內容語言轉換，匯入其他郵件的通訊名單…等，進階搜尋是這之前就開發好得功能，可以在 <a href="http://mail.google.com/support/bin/answer.py?hl=en&amp;answer=7190">search operators</a> 這篇裡面找到相關的用法，簡單來說底下有個例子：</p>
<ul>
<li>&#8220;<em>to:me is:starred</em>&#8221; 搜尋寄信給您所標記的郵件</li>
<li>&#8220;<em>is:chat from:heather</em>&#8221; 搜尋與heather使用者對話的內容</li>
<li>&#8220;<em>is:starred -in:inbox</em>&#8221; 搜尋所有信件夾內未標記郵件</li>
<li>&#8220;<em>from:elliot filename:pdf</em>&#8221; 搜尋 <em>elliot </em>寄來信件附件檔帶有 pdf 檔案</li>
</ul>
<p>上面例子看了很複雜吧，因為你還要記的很多相關的語法，才可以正確搜尋到，所以 google 很貼心的設計了 <a href="http://gmailblog.blogspot.com/2009/04/new-in-labs-gmail-search-made-easier.html">Search Autocomplete</a>，之前我有寫一篇：<a title="Permanent Link to New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案" rel="bookmark" href="../2009/04/05/1129/">New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案</a>，造福了使用 Gmail 的大眾。</p>
<p>預覽收件夾這功能可以參考：<a href="http://gmailblog.blogspot.com/2009/05/new-in-labs-inbox-preview.html">New in Labs: Inbox preview</a>，這功能用在當開啟 gmail 網頁時，會有 loading 的畫面，那針對速度慢得使用者，可以預先看到新的郵件標題，而不需要整個載入之後才看的到，目前還沒有遇到這種狀況，不過大家可以試試看。</p>
<p>郵件內容語言轉換(<a href="http://gmailblog.blogspot.com/2009/05/new-in-labs-automatic-message.html">New in Labs: Automatic message translation</a>)，這功能相當不錯，可以利用 google translate tool 進行轉換您所想要的語言，如下圖：<br />
<a title="Gmail (by appleboy46)" href="http://www.flickr.com/photos/appleboy/3599768514/"><img title="Gmail (by appleboy46)" src="http://farm3.static.flickr.com/2478/3599768514_7771513234_o.png" alt="Gmail (by appleboy46)" width="600" /></a></p>
<p>蠻多好玩的功能，都可以去 Gmail Lab 去開起來喔，大家試試看吧</p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2009/04/05/1129/" title="New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案">New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案 (2)</a></li><li><a href="http://blog.wu-boy.com/2009/02/27/840/" title="[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars">[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars (2)</a></li><li><a href="http://blog.wu-boy.com/2009/02/21/819/" title="[google] Gmail Multiple Inboxes 支援多重資料夾">[google] Gmail Multiple Inboxes 支援多重資料夾 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/01/29/742/" title="[Google]Offline Gmail 新功能  ">[Google]Offline Gmail 新功能   (0)</a></li><li><a href="http://blog.wu-boy.com/2010/02/03/1997/" title="Google Chrome 支援超過 40,000 Extensions! with Greasemonkey">Google Chrome 支援超過 40,000 Extensions! with Greasemonkey (1)</a></li><li><a href="http://blog.wu-boy.com/2010/01/29/1972/" title="Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6">Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6 (0)</a></li><li><a href="http://blog.wu-boy.com/2010/01/17/1957/" title="How to install Google Web Toolkit  with Eclipse">How to install Google Web Toolkit  with Eclipse (2)</a></li><li><a href="http://blog.wu-boy.com/2009/11/17/1836/" title="[Gmail] offline Gmail 根據 Labels 自訂選擇下載郵件備份 ">[Gmail] offline Gmail 根據 Labels 自訂選擇下載郵件備份  (0)</a></li><li><a href="http://blog.wu-boy.com/2009/03/27/1081/" title="[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件">[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/26/1075/" title="[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設">[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設 (3)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2009/06/06/1421/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案</title>
		<link>http://blog.wu-boy.com/2009/04/05/1129/</link>
		<comments>http://blog.wu-boy.com/2009/04/05/1129/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 02:24:13 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=1129</guid>
		<description><![CDATA[Gmail 又推出一個 Lab 功能了，這個功能我想是大家所期待許久的，可以直接對於搜尋使用者跟附件有相當大的幫助，可以針對附件，郵件裡面的 vedio，圖片副檔名 .jpg、.png、.doc 下去做搜尋的動作，很方便的，也可以針對郵件的 email 或者是姓名搜尋，提供了 autocomplete 的作用，您只需要打入兩個關鍵字，就會出現相關的使用者姓名或者是 email 喔，方便的，可以參考：New in Labs: Gmail search made easier (and lazier)。
<span class="readmore"><a href="http://blog.wu-boy.com/2009/04/05/1129/" title="New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案" target="_blank">...詳全文（共314字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://mail.google.com/">Gmail</a> 又推出一個 Lab 功能了，這個功能我想是大家所期待許久的，可以直接對於搜尋使用者跟附件有相當大的幫助，可以針對附件，郵件裡面的 vedio，圖片副檔名 .jpg、.png、.doc 下去做搜尋的動作，很方便的，也可以針對郵件的 email 或者是姓名搜尋，提供了 autocomplete 的作用，您只需要打入兩個關鍵字，就會出現相關的使用者姓名或者是 email 喔，方便的，可以參考：<a href="http://gmailblog.blogspot.com/2009/04/new-in-labs-gmail-search-made-easier.html">New in Labs: Gmail search made easier (and lazier)</a>。</p>
<p>使用方法只要去 Settings -> Labs 把功能打開即可<br />
<a href="http://www.flickr.com/photos/appleboy/3412750067/" title="Google_01 (by appleboy46)"><img src="http://farm4.static.flickr.com/3563/3412750067_b42eebd56b.jpg" title="Google_01 (by appleboy46)" alt="Google_01 (by appleboy46)" width="500" height="81" /></a><br />
<span id="more-1129"></span><br />
在 search 欄位輸入 at 兩個字，就會出現搜尋附件檔案的動作：<br />
<a href="http://www.flickr.com/photos/appleboy/3413560428/" title="Google_02 (by appleboy46)"><img src="http://farm4.static.flickr.com/3598/3413560428_6abedc9da6.jpg" title="Google_02 (by appleboy46)" alt="Google_02 (by appleboy46)" width="500" height="128" /></a><br />
也可以輸入中文姓名，就會幫忙找到相關的部份了：<br />
<a href="http://www.flickr.com/photos/appleboy/3413566832/" title="Google_03 (by appleboy46)"><img src="http://farm4.static.flickr.com/3612/3413566832_509a7a7cf0.jpg" title="Google_03 (by appleboy46)" alt="Google_03 (by appleboy46)" width="500" height="111" /></a></p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2009/06/06/1421/" title="[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換">[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/02/27/840/" title="[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars">[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars (2)</a></li><li><a href="http://blog.wu-boy.com/2009/02/21/819/" title="[google] Gmail Multiple Inboxes 支援多重資料夾">[google] Gmail Multiple Inboxes 支援多重資料夾 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/01/29/742/" title="[Google]Offline Gmail 新功能  ">[Google]Offline Gmail 新功能   (0)</a></li><li><a href="http://blog.wu-boy.com/2010/02/03/1997/" title="Google Chrome 支援超過 40,000 Extensions! with Greasemonkey">Google Chrome 支援超過 40,000 Extensions! with Greasemonkey (1)</a></li><li><a href="http://blog.wu-boy.com/2010/01/29/1972/" title="Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6">Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6 (0)</a></li><li><a href="http://blog.wu-boy.com/2010/01/17/1957/" title="How to install Google Web Toolkit  with Eclipse">How to install Google Web Toolkit  with Eclipse (2)</a></li><li><a href="http://blog.wu-boy.com/2009/11/17/1836/" title="[Gmail] offline Gmail 根據 Labels 自訂選擇下載郵件備份 ">[Gmail] offline Gmail 根據 Labels 自訂選擇下載郵件備份  (0)</a></li><li><a href="http://blog.wu-boy.com/2009/03/27/1081/" title="[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件">[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/26/1075/" title="[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設">[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設 (3)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2009/04/05/1129/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件</title>
		<link>http://blog.wu-boy.com/2009/03/27/1081/</link>
		<comments>http://blog.wu-boy.com/2009/03/27/1081/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 04:09:30 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=1081</guid>
		<description><![CDATA[昨天寫了一篇 [PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設，相信應該是非常簡單才對，那今天來介紹一下實做 Google Calendar API 的瀏覽、新增、刪除、修改事件的功能，在官方網站都有詳細的 API 功能介紹，我只不過把功能整合完整一點，詳細請看 Google Calendar API With PHP。
<span class="readmore"><a href="http://blog.wu-boy.com/2009/03/27/1081/" title="[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件" target="_blank">...詳全文（共2004字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>昨天寫了一篇 <a href="http://blog.wu-boy.com/2009/03/26/1075/">[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設</a>，相信應該是非常簡單才對，那今天來介紹一下實做 Google Calendar API 的瀏覽、新增、刪除、修改事件的功能，在官方網站都有詳細的 API 功能介紹，我只不過把功能整合完整一點，詳細請看 <a href="http://code.google.com/apis/calendar/docs/1.0/developers_guide_php.html">Google Calendar API With PHP</a>。</p>
<p>1. 瀏覽功能：建立 index.php</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;width:580px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="coMULTI">/*<br />
* include 昨天新增的config.inc.php 檔案<br />
*/</span><br />
<span class="kw1">include</span><span class="br0">&#40;</span><span class="st_h">'config.inc.php'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="coMULTI">/*<br />
* 提供Calendar 的服務名稱<br />
*/</span><br />
<span class="re0">$service</span> <span class="sy0">=</span> Zend_Gdata_Calendar<span class="sy0">::</span><span class="me2">AUTH_SERVICE_NAME</span><span class="sy0">;</span><br />
<span class="coMULTI">/*<br />
* 登入帳號密碼<br />
*/</span><br />
<span class="re0">$client</span> <span class="sy0">=</span> Zend_Gdata_ClientLogin<span class="sy0">::</span><span class="me2">getHttpClient</span><span class="br0">&#40;</span><span class="re0">$googleAccount</span><span class="sy0">,</span> <span class="re0">$googlePassword</span><span class="sy0">,</span> <span class="re0">$service</span><span class="br0">&#41;</span><span class="sy0">;</span></div></div>
<p><span id="more-1081"></span><br />
登入帳號密碼部份，請開啟 PHP 的 module：php_openssl.so，不然會出現底下錯誤訊息：</p>
<blockquote><p>Fatal error: Uncaught exception &#8216;Zend_Gdata_App_HttpException&#8217; with message &#8216;Unable to Connect to ssl://www.google.com:443. Error #46482968: Unable to find the socket transport &#8220;ssl&#8221; &#8211; did you forget to enable it when you configured PHP?&#8217; in C:\AppServ\www\Zend\library\Zend\Gdata\ClientLogin.php:140 Stack trace: #0 C:\AppServ\www\Zend\GClab\index.php(5): Zend_Gdata_ClientLogin::getHttpClient(&#8217;xxxxx@gma&#8230;&#8217;, &#8221;, &#8216;cl&#8217;) #1</p></blockquote>
<p>解決方法就是修改 php.ini 檔案，打開 extension=php_openssl.dll 這個 module 就可以了，參考網站：<a href="http://blog.sunflier.com/?p=572">[PHP] Unable to find the socket transport &#8220;ssl&#8221;</a>，接下來在 config.inc.php 加入底下的 function<br />
參數：<br />
$client = 認證通過的變數<br />
$startDate = 選擇起始時間<br />
$endDate = 選擇結束時間</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;width:580px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">function</span> outputCalendarByDateRange<span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$startDate</span><span class="sy0">=</span><span class="st_h">'2009-01-01'</span><span class="sy0">,</span> &nbsp;<span class="re0">$endDate</span><span class="sy0">=</span><span class="st_h">'2009-12-31'</span><span class="br0">&#41;</span> <br />
<span class="br0">&#123;</span><br />
&nbsp; <span class="re0">$gdataCal</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_Gdata_Calendar<span class="br0">&#40;</span><span class="re0">$client</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newEventQuery</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setUser</span><span class="br0">&#40;</span><span class="st_h">'default'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setVisibility</span><span class="br0">&#40;</span><span class="st_h">'private'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setProjection</span><span class="br0">&#40;</span><span class="st_h">'full'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="coMULTI">/*<br />
&nbsp; * 可以指定 order by starttime or lastmodified <br />
&nbsp; * starttime 起始時間<br />
&nbsp; * lastmodified 最後修改 &nbsp; &nbsp;<br />
&nbsp; */</span> &nbsp;<br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setOrderby</span><span class="br0">&#40;</span><span class="st_h">'starttime'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setStartMin</span><span class="br0">&#40;</span><span class="re0">$startDate</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setStartMax</span><span class="br0">&#40;</span><span class="re0">$endDate</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$eventFeed</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">getCalendarEventFeed</span><span class="br0">&#40;</span><span class="re0">$query</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$eventFeed</span> <span class="kw1">as</span> <span class="re0">$event</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;&lt;h2&gt;&lt;a href=<span class="es1">\&quot;</span>event.php?id=&quot;</span><span class="sy0">.</span><a href="http://www.php.net/basename"><span class="kw3">basename</span></a><span class="br0">&#40;</span><span class="re0">$event</span><span class="sy0">-&gt;</span><span class="me1">id</span><span class="sy0">-&gt;</span><span class="me1">text</span><span class="br0">&#41;</span><span class="sy0">.</span><span class="st0">&quot;<span class="es1">\&quot;</span>&gt;&quot;</span> <span class="sy0">.</span> <span class="re0">$event</span><span class="sy0">-&gt;</span><span class="me1">title</span><span class="sy0">-&gt;</span><span class="me1">text</span> <span class="sy0">.</span> &nbsp;<span class="st0">&quot;&lt;/a&gt;&lt;/h2&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;&lt;ul&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;<span class="es1">\t</span>&lt;li&gt;&lt;b&gt;內容:&lt;/b&gt;&quot;</span><span class="sy0">.</span><span class="re0">$event</span><span class="sy0">-&gt;</span><span class="me1">content</span><span class="sy0">-&gt;</span><span class="me1">text</span><span class="sy0">.</span><span class="st0">&quot;&lt;/li&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$event</span><span class="sy0">-&gt;</span><span class="me1">where</span> <span class="kw1">as</span> <span class="re0">$where</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;<span class="es1">\t</span>&lt;li&gt;&lt;b&gt;地點:&lt;/b&gt;&quot;</span> <span class="sy0">.</span> <span class="re0">$where</span><span class="sy0">-&gt;</span><span class="me1">valueString</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;/li&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span> &nbsp;<br />
&nbsp; &nbsp; <span class="kw1">foreach</span> <span class="br0">&#40;</span><span class="re0">$event</span><span class="sy0">-&gt;</span><span class="me1">when</span> <span class="kw1">as</span> <span class="re0">$when</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;<span class="es1">\t</span>&lt;li&gt;&lt;b&gt;起始時間: &lt;/b&gt;&quot;</span> <span class="sy0">.</span> <span class="re0">$when</span><span class="sy0">-&gt;</span><span class="me1">startTime</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;/li&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;<span class="es1">\t</span>&lt;li&gt;&lt;b&gt;結束時間: &lt;/b&gt;&quot;</span> <span class="sy0">.</span> <span class="re0">$when</span><span class="sy0">-&gt;</span><span class="me1">endTime</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;/li&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span> <br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;<span class="es1">\t</span><span class="es1">\t</span>&lt;/ul&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;<span class="es1">\t</span>&lt;/li&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;&lt;/ul&gt;<span class="es1">\n</span>&quot;</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
&nbsp; <br />
<span class="br0">&#125;</span></div></div>
<p>這樣我們就可以整個輸出 index.php 檔案了喔，那原始檔案如下：</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;width:580px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">&lt;?php</span><br />
<span class="kw1">include</span><span class="br0">&#40;</span><span class="st_h">'config.inc.php'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="re0">$service</span> <span class="sy0">=</span> Zend_Gdata_Calendar<span class="sy0">::</span><span class="me2">AUTH_SERVICE_NAME</span><span class="sy0">;</span> <span class="co1">// 提供Calendar 的服務名稱</span><br />
<span class="re0">$client</span> <span class="sy0">=</span> Zend_Gdata_ClientLogin<span class="sy0">::</span><span class="me2">getHttpClient</span><span class="br0">&#40;</span><span class="re0">$googleAccount</span><span class="sy0">,</span> <span class="re0">$googlePassword</span><span class="sy0">,</span> <span class="re0">$service</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="sy1">?&gt;</span><br />
<br />
&lt;html&gt;<br />
&lt;head&gt;<br />
&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html; charset=utf-8&quot;&gt;<br />
&lt;title&gt;資策會 Appleboy 讀取 Google 行事曆&lt;/title&gt;<br />
&lt;/head&gt;<br />
&lt;body&gt;<br />
<span class="kw2">&lt;?php</span><br />
outputCalendarByDateRange<span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span><span class="st_h">'2009-01-01'</span><span class="sy0">,</span><span class="st_h">'2009-12-01'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="sy1">?&gt;</span><br />
&lt;/body&gt;<br />
&lt;/html&gt;</div></div>
<p>上一篇：<a href="http://blog.wu-boy.com/2009/03/26/1075/">[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設</a><br />
下一篇：<a href="http://blog.wu-boy.com/2009/03/28/1096/">[PHP] Zend 使用 Google Calendar API &#8211; 編輯事件</a></p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2009/03/29/1109/" title="[PHP] Zend 使用 Google Calendar API &#8211; 新增、刪除事件 &#8211; END">[PHP] Zend 使用 Google Calendar API &#8211; 新增、刪除事件 &#8211; END (2)</a></li><li><a href="http://blog.wu-boy.com/2009/03/28/1096/" title="[PHP] Zend 使用 Google Calendar API &#8211; 編輯事件">[PHP] Zend 使用 Google Calendar API &#8211; 編輯事件 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/26/1075/" title="[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設">[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/24/1060/" title="[PHP] Zend Framework 安裝筆記教學 Appserv + Zend Framework (一)">[PHP] Zend Framework 安裝筆記教學 Appserv + Zend Framework (一) (6)</a></li><li><a href="http://blog.wu-boy.com/2008/10/04/532/" title="[AJAX] google map 的應用～">[AJAX] google map 的應用～ (1)</a></li><li><a href="http://blog.wu-boy.com/2008/08/14/308/" title="[教學]網頁簡體繁體轉換程式(Google AJAX Language API)">[教學]網頁簡體繁體轉換程式(Google AJAX Language API) (0)</a></li><li><a href="http://blog.wu-boy.com/2010/06/30/2254/" title="[phpBB3] BBCode [url] Tag 支援中文網址">[phpBB3] BBCode [url] Tag 支援中文網址 (1)</a></li><li><a href="http://blog.wu-boy.com/2010/06/23/2240/" title="[FreeBSD] update apache -> 2.2.15, PHP -> 5.3.2, and MySQL downgrade to 5.1.9">[FreeBSD] update apache -> 2.2.15, PHP -> 5.3.2, and MySQL downgrade to 5.1.9 (0)</a></li><li><a href="http://blog.wu-boy.com/2010/06/13/2213/" title="[phpBB3 外掛] 根據使用者文章數目限制簽名檔顯示">[phpBB3 外掛] 根據使用者文章數目限制簽名檔顯示 (1)</a></li><li><a href="http://blog.wu-boy.com/2010/06/10/2203/" title="[教學] phpBB3 使用者簽名檔 url 連結加上 rel=&#8221;nofollow&#8221;  ">[教學] phpBB3 使用者簽名檔 url 連結加上 rel=&#8221;nofollow&#8221;   (1)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2009/03/27/1081/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設</title>
		<link>http://blog.wu-boy.com/2009/03/26/1075/</link>
		<comments>http://blog.wu-boy.com/2009/03/26/1075/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 13:15:02 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Zend Framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=1075</guid>
		<description><![CDATA[最近又玩了 Googl 的 API：Google Calendar APIs and Tools，這個 API 可以讓 PHP 開發者對於使用 Google Canledar 有很大的幫助，可以新增事件，刪除事件，修改事件，或者是更改事件，相信在 Google 的 API 裡面都寫的很詳細，這 API 是由 Zend 底下所開發出來的，在 Zend Framework 底下是小 API 模組，大家可以在 這裡 下載到最新的版本 Zend Gdata 1.7.7，大家也可以直接在 Zend Framework 底下做開發，目前支援 PHP5，如果對 Google 月曆不會用的，可以上網找一下，很多 教學 的喔，底下是要針對開發環境建立做介紹。
<span class="readmore"><a href="http://blog.wu-boy.com/2009/03/26/1075/" title="[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設" target="_blank">...詳全文（共2446字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>最近又玩了 Googl 的 API：<a href="http://code.google.com/apis/calendar/">Google Calendar APIs and Tools</a>，這個 API 可以讓 PHP 開發者對於使用 Google Canledar 有很大的幫助，可以新增事件，刪除事件，修改事件，或者是更改事件，相信在 Google 的 API 裡面都寫的很詳細，這 API 是由 Zend 底下所開發出來的，在 Zend Framework 底下是小 API 模組，大家可以在 <a href="http://framework.zend.com/download/webservices">這裡</a> 下載到最新的版本 <a href="http://framework.zend.com/download/webservices">Zend Gdata 1.7.7</a>，大家也可以直接在 <a href="http://framework.zend.com/">Zend Framework</a> 底下做開發，目前支援 PHP5，如果對 Google 月曆不會用的，可以上網找一下，很多 <a href="http://www.google.com.tw/search?q=google+calendar+%E6%95%99%E5%AD%B8&#038;ie=utf-8&#038;oe=utf-8&#038;aq=t&#038;rlz=1R1GGGL_en___TW320&#038;client=firefox-a">教學</a> 的喔，底下是要針對開發環境建立做介紹。</p>
<p>針對 <a href="http://code.google.com/apis/calendar/docs/1.0/developers_guide_php.html">Google Calendar PHP API</a> 教學大家可以先看看，今天先教大家建置環境，環境用在 <a href="http://framework.zend.com">Zend Framework</a> 底下的作法，那架設 Zend Framework 可以參考我上一篇文章：<a href="http://blog.wu-boy.com/2009/03/24/1060/">[PHP] Zend Framework 安裝筆記教學 Appserv + Zend Framework (一)</a>，如果是在 Zend Framwork 底下安裝的話，那必須把 .htaccess 裡面的導向 index.php 的功能 mark 起來，不然就跑不過去喔，不然就是另開一個資料夾，就不需要搭配 Zend Framework，那就在 (www 或者是 data)資料夾，多開一個 GClab 資料夾，把檔案解壓縮到裡面。</p>
<p>1. 新增 google 帳號的設定檔案 config.inc.php</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;width:580px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="coMULTI">/*<br />
* Google 帳號密碼，以及 calendar ID<br />
*/</span><br />
<span class="re0">$googleAccount</span> <span class="sy0">=</span> <span class="st_h">'xxxxxxx@gmail.com'</span><span class="sy0">;</span><br />
<span class="re0">$googlePassword</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">;</span> &nbsp; <br />
<span class="re0">$calendarID</span> <span class="sy0">=</span> <span class="st_h">'xxxxxxxx@gmail.com'</span><span class="sy0">;</span></div></div>
<p><span id="more-1075"></span><br />
2. 設定 include_path 的相關性</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;width:580px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="coMULTI">/*<br />
* 這邊是在設定程式把Zend Gdata Library 載入程式碼中<br />
*/</span><br />
<a href="http://www.php.net/define"><span class="kw3">define</span></a> <span class="br0">&#40;</span><span class="st_h">'P_S'</span><span class="sy0">,</span> PATH_SEPARATOR<span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="coMULTI">/* Zend_framework 請寫下面這行 */</span><br />
<a href="http://www.php.net/set_include_path"><span class="kw3">set_include_path</span></a><span class="br0">&#40;</span><span class="st_h">'.'</span> <span class="sy0">.</span>P_S <span class="sy0">.</span> <span class="st_h">'../library'</span> <span class="sy0">.</span> P_S <span class="sy0">.</span> <span class="st_h">'../application/models/'</span> <span class="sy0">.</span> P_S <span class="sy0">.</span> <a href="http://www.php.net/get_include_path"><span class="kw3">get_include_path</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="coMULTI">/* 非 Zend_framework 請 copy 下面 */</span><br />
<a href="http://www.php.net/set_include_path"><span class="kw3">set_include_path</span></a><span class="br0">&#40;</span><span class="st_h">'.'</span> <span class="sy0">.</span>P_S <span class="sy0">.</span> <span class="st_h">'./library'</span> <span class="sy0">.</span> P_S <span class="sy0">.</span> <a href="http://www.php.net/get_include_path"><span class="kw3">get_include_path</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">require_once</span> <span class="st_h">'Zend/Loader.php'</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata_AuthSub'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata_ClientLogin'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata_HttpClient'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata_Calendar'</span><span class="br0">&#41;</span><span class="sy0">;</span></div></div>
<p>3. 加入兩個 function</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;width:580px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="coMULTI">/*<br />
* 取得 event 資訊<br />
*/</span><br />
<span class="kw2">function</span> getEvent<span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$eventId</span><span class="br0">&#41;</span> <br />
<span class="br0">&#123;</span><br />
&nbsp; <span class="re0">$gdataCal</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_Gdata_Calendar<span class="br0">&#40;</span><span class="re0">$client</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newEventQuery</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setUser</span><span class="br0">&#40;</span><span class="st_h">'default'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setVisibility</span><span class="br0">&#40;</span><span class="st_h">'private'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setProjection</span><span class="br0">&#40;</span><span class="st_h">'full'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setEvent</span><span class="br0">&#40;</span><span class="re0">$eventId</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; try <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="re0">$eventEntry</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">getCalendarEventEntry</span><span class="br0">&#40;</span><span class="re0">$query</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$eventEntry</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span> catch <span class="br0">&#40;</span>Zend_Gdata_App_Exception <span class="re0">$e</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/var_dump"><span class="kw3">var_dump</span></a><span class="br0">&#40;</span><span class="re0">$e</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">null</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="coMULTI">/*<br />
* 更新 event 資訊，title 名稱，地點，內容<br />
*/</span><br />
<span class="kw2">function</span> updateEvent <span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$eventId</span><span class="sy0">,</span> <span class="re0">$newTitle</span><span class="sy0">,</span> <span class="re0">$where</span><span class="sy0">,</span> <span class="re0">$desc</span><span class="br0">&#41;</span> <br />
<span class="br0">&#123;</span><br />
&nbsp; <span class="re0">$gdataCal</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_Gdata_Calendar<span class="br0">&#40;</span><span class="re0">$client</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$eventOld</span> <span class="sy0">=</span> getEvent<span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$eventId</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;Old title: &quot;</span> <span class="sy0">.</span> <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">title</span><span class="sy0">-&gt;</span><span class="me1">text</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;br /&gt;&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">title</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newTitle</span><span class="br0">&#40;</span><span class="re0">$newTitle</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">where</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newWhere</span><span class="br0">&#40;</span><span class="re0">$where</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">content</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newContent</span><span class="br0">&#40;</span><span class="re0">$desc</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; try <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">save</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span> catch <span class="br0">&#40;</span>Zend_Gdata_App_Exception <span class="re0">$e</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/var_dump"><span class="kw3">var_dump</span></a><span class="br0">&#40;</span><span class="re0">$e</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">null</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">$eventNew</span> <span class="sy0">=</span> getEvent<span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$eventId</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;New title: &quot;</span> <span class="sy0">.</span> <span class="re0">$eventNew</span><span class="sy0">-&gt;</span><span class="me1">title</span><span class="sy0">-&gt;</span><span class="me1">text</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;br /&gt;&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$eventNew</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">null</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span></div></div>
<p>整個 config.inc.php 檔案如下</p>
<div class="codecolorer-container php " style="overflow:auto;white-space:nowrap;width:580px"><div class="php codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw2">&lt;?php</span><br />
<span class="coMULTI">/*<br />
* Google 帳號密碼，以及 calendar ID<br />
*/</span><br />
<span class="re0">$googleAccount</span> <span class="sy0">=</span> <span class="st_h">'xxxxx@gmail.com'</span><span class="sy0">;</span><br />
<span class="re0">$googlePassword</span> <span class="sy0">=</span> <span class="st_h">''</span><span class="sy0">;</span> &nbsp; <br />
<span class="re0">$calendarID</span> <span class="sy0">=</span> <span class="st_h">'xxxxxx@gmail.com'</span><span class="sy0">;</span><br />
<br />
<span class="co1">//這邊是在設定程式把Zend Gdata Library 載入程式碼中</span><br />
<a href="http://www.php.net/define"><span class="kw3">define</span></a> <span class="br0">&#40;</span><span class="st_h">'P_S'</span><span class="sy0">,</span> PATH_SEPARATOR<span class="br0">&#41;</span><span class="sy0">;</span><br />
<a href="http://www.php.net/set_include_path"><span class="kw3">set_include_path</span></a><span class="br0">&#40;</span><span class="st_h">'.'</span> <span class="sy0">.</span>P_S <span class="sy0">.</span> <span class="st_h">'../library'</span> <span class="sy0">.</span> P_S <span class="sy0">.</span> <span class="st_h">'../application/models/'</span> <span class="sy0">.</span> P_S <span class="sy0">.</span> <a href="http://www.php.net/get_include_path"><span class="kw3">get_include_path</span></a><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="kw1">require_once</span> <span class="st_h">'Zend/Loader.php'</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata_AuthSub'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata_ClientLogin'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata_HttpClient'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
Zend_Loader<span class="sy0">::</span><span class="me2">loadClass</span><span class="br0">&#40;</span><span class="st_h">'Zend_Gdata_Calendar'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
<br />
<span class="kw2">function</span> getEvent<span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$eventId</span><span class="br0">&#41;</span> <br />
<span class="br0">&#123;</span><br />
&nbsp; <span class="re0">$gdataCal</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_Gdata_Calendar<span class="br0">&#40;</span><span class="re0">$client</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newEventQuery</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setUser</span><span class="br0">&#40;</span><span class="st_h">'default'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setVisibility</span><span class="br0">&#40;</span><span class="st_h">'private'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setProjection</span><span class="br0">&#40;</span><span class="st_h">'full'</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="re0">$query</span><span class="sy0">-&gt;</span><span class="me1">setEvent</span><span class="br0">&#40;</span><span class="re0">$eventId</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<br />
&nbsp; try <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="re0">$eventEntry</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">getCalendarEventEntry</span><span class="br0">&#40;</span><span class="re0">$query</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$eventEntry</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span> catch <span class="br0">&#40;</span>Zend_Gdata_App_Exception <span class="re0">$e</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/var_dump"><span class="kw3">var_dump</span></a><span class="br0">&#40;</span><span class="re0">$e</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">null</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<br />
<br />
<span class="kw2">function</span> updateEvent <span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$eventId</span><span class="sy0">,</span> <span class="re0">$newTitle</span><span class="sy0">,</span> <span class="re0">$where</span><span class="sy0">,</span> <span class="re0">$desc</span><span class="br0">&#41;</span> <br />
<span class="br0">&#123;</span><br />
&nbsp; <span class="re0">$gdataCal</span> <span class="sy0">=</span> <span class="kw2">new</span> Zend_Gdata_Calendar<span class="br0">&#40;</span><span class="re0">$client</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$eventOld</span> <span class="sy0">=</span> getEvent<span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$eventId</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;Old title: &quot;</span> <span class="sy0">.</span> <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">title</span><span class="sy0">-&gt;</span><span class="me1">text</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;br /&gt;&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">title</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newTitle</span><span class="br0">&#40;</span><span class="re0">$newTitle</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">where</span> <span class="sy0">=</span> <a href="http://www.php.net/array"><span class="kw3">array</span></a><span class="br0">&#40;</span><span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newWhere</span><span class="br0">&#40;</span><span class="re0">$where</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">content</span> <span class="sy0">=</span> <span class="re0">$gdataCal</span><span class="sy0">-&gt;</span><span class="me1">newContent</span><span class="br0">&#40;</span><span class="re0">$desc</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; try <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <span class="re0">$eventOld</span><span class="sy0">-&gt;</span><span class="me1">save</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span> catch <span class="br0">&#40;</span>Zend_Gdata_App_Exception <span class="re0">$e</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; <a href="http://www.php.net/var_dump"><span class="kw3">var_dump</span></a><span class="br0">&#40;</span><span class="re0">$e</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">null</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; <span class="re0">$eventNew</span> <span class="sy0">=</span> getEvent<span class="br0">&#40;</span><span class="re0">$client</span><span class="sy0">,</span> <span class="re0">$eventId</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <a href="http://www.php.net/echo"><span class="kw3">echo</span></a> <span class="st0">&quot;New title: &quot;</span> <span class="sy0">.</span> <span class="re0">$eventNew</span><span class="sy0">-&gt;</span><span class="me1">title</span><span class="sy0">-&gt;</span><span class="me1">text</span> <span class="sy0">.</span> <span class="st0">&quot;&lt;br /&gt;&quot;</span><span class="sy0">;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="re0">$eventNew</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; <span class="kw1">return</span> <span class="kw2">null</span><span class="sy0">;</span><br />
&nbsp; <span class="br0">&#125;</span><br />
<span class="br0">&#125;</span><br />
<br />
<span class="sy1">?&gt;</span></div></div>
<p>打開瀏覽器，輸入：http://localhost/資料夾/config.inc.php，如果沒有錯誤訊息，那就是成功了喔，看看明天可不可以來寫新增修改刪除範例，還有可以瀏覽整個 Google Calendar 畫面。</p>
<p>下一篇：<a href="http://blog.wu-boy.com/2009/03/27/1081/">[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件</a></p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2009/03/27/1081/" title="[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件">[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件 (3)</a></li><li><a href="http://blog.wu-boy.com/2010/02/03/1997/" title="Google Chrome 支援超過 40,000 Extensions! with Greasemonkey">Google Chrome 支援超過 40,000 Extensions! with Greasemonkey (1)</a></li><li><a href="http://blog.wu-boy.com/2010/01/29/1972/" title="Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6">Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6 (0)</a></li><li><a href="http://blog.wu-boy.com/2010/01/17/1957/" title="How to install Google Web Toolkit  with Eclipse">How to install Google Web Toolkit  with Eclipse (2)</a></li><li><a href="http://blog.wu-boy.com/2009/06/06/1421/" title="[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換">[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/04/05/1129/" title="New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案">New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案 (2)</a></li><li><a href="http://blog.wu-boy.com/2009/03/29/1109/" title="[PHP] Zend 使用 Google Calendar API &#8211; 新增、刪除事件 &#8211; END">[PHP] Zend 使用 Google Calendar API &#8211; 新增、刪除事件 &#8211; END (2)</a></li><li><a href="http://blog.wu-boy.com/2009/03/28/1096/" title="[PHP] Zend 使用 Google Calendar API &#8211; 編輯事件">[PHP] Zend 使用 Google Calendar API &#8211; 編輯事件 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/24/1060/" title="[PHP] Zend Framework 安裝筆記教學 Appserv + Zend Framework (一)">[PHP] Zend Framework 安裝筆記教學 Appserv + Zend Framework (一) (6)</a></li><li><a href="http://blog.wu-boy.com/2009/03/07/940/" title=" Google App Engine SDK：python 基本教學安裝"> Google App Engine SDK：python 基本教學安裝 (0)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2009/03/26/1075/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google App Engine SDK：python 基本教學安裝</title>
		<link>http://blog.wu-boy.com/2009/03/07/940/</link>
		<comments>http://blog.wu-boy.com/2009/03/07/940/#comments</comments>
		<pubDate>Sat, 07 Mar 2009 04:41:30 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=940</guid>
		<description><![CDATA[Google App Engine 利用 python 程式語言所組成，可以利用 Google 背後的技術來開發您的 Web application，後端就交給 Google 的強大雲端運算能力，前端就可以利用 SDK 來開發您的 Web 介面，後端儲存可以用 Google Bigtable 及 GFS 的儲存方式，那現在就不多說了，花了一點時間把環境建立起來，遇到一些問題，現在來筆記一下，目前我在 FreeBSD 7.1 Release 來當作 Google App Engine 開發平台，在安裝方面有遇到一些小問題，底下來看看：
<span class="readmore"><a href="http://blog.wu-boy.com/2009/03/07/940/" title="Google App Engine SDK：python 基本教學安裝" target="_blank">...詳全文（共2211字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><img src="http://code.google.com/appengine/images/appengine-silver-120x30.gif" alt="Powered by Google App Engine" /><br />
<a href="http://code.google.com/appengine/">Google App Engine</a> 利用 python 程式語言所組成，可以利用 <a href="http://www.google.com.tw/">Google</a> 背後的技術來開發您的 Web application，後端就交給 Google 的強大雲端運算能力，前端就可以利用 <a href="http://code.google.com/appengine/downloads.html">SDK</a> 來開發您的 Web 介面，後端儲存可以用 <a href="http://www.google.com.tw/">Google</a> <a href="http://labs.google.com/papers/bigtable.html" target="_blank">Bigtable</a> 及 <a href="http://labs.google.com/papers/gfs.html" target="_blank">GFS</a> 的儲存方式，那現在就不多說了，花了一點時間把環境建立起來，遇到一些問題，現在來筆記一下，目前我在<a href="http://www.tw.freebsd.org/"> FreeBSD</a> 7.1 Release 來當作 <a href="http://code.google.com/appengine/">Google App Engine</a> 開發平台，在安裝方面有遇到一些小問題，底下來看看：</p>
<p>在 FreeBSD 安裝方法還蠻簡單的，首先把 python 環境弄好</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co0"># cd /usr/ports/lang/python25/</span><br />
<span class="co0"># make install clean</span></div></div>
<p>底下這張圖就是安裝好的結果：<br />
<a title="GAE (by appleboy46)" href="http://www.flickr.com/photos/appleboy/3333900131/"><img title="GAE (by appleboy46)" src="http://farm4.static.flickr.com/3556/3333900131_dd95bd7d35.jpg" alt="GAE (by appleboy46)" width="500" height="151" /></a><br />
<span id="more-940"></span><br />
安裝好之後就是下載開發環境 SDK <a href="http://code.google.com/appengine/downloads.html">Downloads</a>，目前支援 Mac OS、Linux、Windows 都可以安裝：</p>
<p>當然我就選擇 Linux 的 zip 檔案，下載好解壓縮就可以了，接下來介紹怎麼使用，其實網路上說明文件都寫的還蠻詳細的，解壓縮產生一個資料夾 google_appengine，裡面兩個檔案是大家都會用到的：</p>
<ul >
<li><a href="http://code.google.com/appengine/docs/python/tools/devserver.html">dev_appserver.py</a>：這個檔案用來編譯您寫的 Web application</li>
<li><a href="http://code.google.com/appengine/docs/python/tools/uploadinganapp.html">appcfg.py</a>：用來上傳您寫好的檔案到 App Engine 系統</li>
</ul>
<p>再來寫測試檔案，測試看看喔，寫一個 <a href="http://code.google.com/appengine/docs/python/gettingstarted/helloworld.html">Hello, World!</a> 來看看</p>
<p>先建立一個 hello 的資料夾</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co0"># mkdir hello</span></div></div>
<p>裡面放入兩個檔案，分別是：hello.py 跟 app.yaml，hello.py 就是您的程式檔案，app.yaml 就是網站設定檔，檔案內容分別如下：</p>
<p>hello.py：</p>
<div class="codecolorer-container python " style="overflow:auto;white-space:nowrap;width:580px"><div class="python codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="kw1">print</span> <span class="st0">'Content-Type: text/plain'</span><br />
<span class="kw1">print</span> <span class="st0">''</span><br />
<span class="kw1">print</span> <span class="st0">'Hello, world!'</span></div></div>
<p>app.yaml：</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace">application: hello<br />
version: <span class="nu0">1</span><br />
runtime: python<br />
api_version: <span class="nu0">1</span><br />
<br />
handlers:<br />
- url: <span class="sy0">/</span>.<span class="sy0">*</span><br />
script: hello.py</div></div>
<p>接下來開始編譯：利用 dev_appserver.py 這隻 python 程式編譯</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace">google_appengine<span class="sy0">/</span>dev_appserver.py hello</div></div>
<p>這樣預設編譯 8080 port，這樣就可以利用 http://localhost:8080 來看到網站，不過底下會出現一些問題：</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace">WARNING &nbsp;<span class="nu0">2009</span>-03-07 03:09:<span class="nu0">14</span>,<span class="nu0">371</span> dev_appserver.py<span class="br0">&#93;</span> <br />
Could not initialize images API; you are likely missing the Python <span class="st0">&quot;PIL&quot;</span> module. ImportError: No module named _imaging</div></div>
<p>這個問題，就是沒有安裝 pytho 的 imaging 這隻 ports，我是參考了 <a href="http://blog.e-shell.org/35">FreeBSD ports and Python versions</a>，找到答案的，所以解決方式如下</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace"><span class="co0"># cd /usr/ports/graphics/py-imaging</span><br />
<span class="co0"># make install clean</span></div></div>
<p>再來就是為甚麼只能在本機端觀看網頁，只要不是用 127.0.0.1 跟 localhost 就不能看，我想要用 domain name 下去看阿，所以只要加上參數就可以了</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace">google_appengine<span class="sy0">/</span>dev_appserver.py <span class="re5">--address</span>=0.0.0.0 <span class="re5">--port</span>=<span class="nu0">9999</span> hello</div></div>
<p>這樣就可以利用 host name 下去看了，也可以把預設 8080 port 改成 9999，另外一個問題：</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace">WARNING &nbsp;<span class="nu0">2009</span>-03-07 04:<span class="nu0">27</span>:<span class="nu0">36</span>,<span class="nu0">197</span> datastore_file_stub.py<span class="br0">&#93;</span> <br />
Could not <span class="kw2">read</span> datastore data from <span class="sy0">/</span>tmp<span class="sy0">/</span>dev_appserver.datastore</div></div>
<p>這問題其實很簡單，這只是提供一個 warning 的訊息，不會造成系統不能啟動，因為如果您是寫 hello 這隻程式，根本不需要用到 data store 自然就會提醒出這個訊息，如果該檔案沒有存在也會出現這個訊息，不過系統會在啟動自動建立，所以也不用擔心，然而如果您 compiler demo 檔案，就是 guest book 這個資料夾</p>
<div class="codecolorer-container bash " style="overflow:auto;white-space:nowrap;width:580px"><div class="bash codecolorer" style="font-family:Monaco,Lucida Console,monospace">google_appengine<span class="sy0">/</span>dev_appserver.py <span class="re5">--address</span>=0.0.0.0 <span class="re5">--port</span>=<span class="nu0">9999</span> google_appengine<span class="sy0">/</span>demos<span class="sy0">/</span>guestbook</div></div>
<p>系統因為剛開始找不到 dev_appserver.datastore 這個檔案，所以會有 warning 訊息，然後也會自動建立該檔案，等您下次從新啟動，這個 warning 訊息就會消失了，可以參考此 <a href="http://markmail.org/message/7woseyiwv5vlbkty#query:Could%20not%20read%20data%20store%20data+page:1+mid:7woseyiwv5vlbkty+state:results">文章</a>，您也可以利用 &#8211;datastore_path=/usr/home/hello/datastore 來改變存 data store 的地方。</p>
<p>參考文章：<br />
<a href="http://blog.ericsk.org/">ericsk</a> 大大文章：<br />
<a title="Google App Engine" href="http://blog.ericsk.org/archives/884">Google App Engine</a></p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2010/03/16/2050/" title="[Vim] 想套用 *.php syntax 顏色於 *.ros">[Vim] 想套用 *.php syntax 顏色於 *.ros (0)</a></li><li><a href="http://blog.wu-boy.com/2010/03/11/2041/" title="[FreeBSD] DenyHosts 設定在 hosts.allow 注意事項">[FreeBSD] DenyHosts 設定在 hosts.allow 注意事項 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/12/29/1918/" title="[Git] how to remove file and commit from history(如何移除 commit 歷史紀錄)">[Git] how to remove file and commit from history(如何移除 commit 歷史紀錄) (0)</a></li><li><a href="http://blog.wu-boy.com/2009/12/12/1901/" title="[UNIX] Vim 命令圖解說明">[UNIX] Vim 命令圖解說明 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/06/11/1386/" title="[網站] 好站連結 (三)">[網站] 好站連結 (三) (0)</a></li><li><a href="http://blog.wu-boy.com/2009/04/27/1225/" title="[Django] Web Framework- Django -初階學習心得">[Django] Web Framework- Django -初階學習心得 (4)</a></li><li><a href="http://blog.wu-boy.com/2009/03/10/958/" title="Linux or FreeBSD screen 指令介紹使用">Linux or FreeBSD screen 指令介紹使用 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/03/09/948/" title="mydumper 取代 mysqldump 效能">mydumper 取代 mysqldump 效能 (1)</a></li><li><a href="http://blog.wu-boy.com/2009/02/24/834/" title="如何在 console 端使用 Tail (View) Multiple Files on UNIX / Linux Console">如何在 console 端使用 Tail (View) Multiple Files on UNIX / Linux Console (3)</a></li><li><a href="http://blog.wu-boy.com/2009/02/23/829/" title="[FreeBSD] 利用 portmaster 升級 PHP 5.26 -> 5.28">[FreeBSD] 利用 portmaster 升級 PHP 5.26 -> 5.28 (2)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2009/03/07/940/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Wordpress] post 文章不能使用 javascript 語法</title>
		<link>http://blog.wu-boy.com/2009/03/03/910/</link>
		<comments>http://blog.wu-boy.com/2009/03/03/910/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 12:38:12 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[AJAX]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=910</guid>
		<description><![CDATA[之前寫了一篇讓 wordpress 可以支援 Google Map API 的教學：[AJAX] google map 的應用，不過我將 Wordpress 升級到 WordPress 2.8-bleeding-edge 版本，發現 javascript 語言就不能使用了，因為在寫 javascript 的時候，有利用到 &#60;br /&#62; 這個 Tag，不過送出後轉出來的 javascript 語言會變成編碼過後，&#8221; 會變成 &#38;#8221; Big5 編碼，所以這個問題很困擾我，去找一下 ，Wordpress 把斷行完全用 wpautop 這個函式下去取代，所以你只要在內容寫入 &#60;br / &#62; 都會消失，不然就是出現怪問題。
<span class="readmore"><a href="http://blog.wu-boy.com/2009/03/03/910/" title="[Wordpress] post 文章不能使用 javascript 語法" target="_blank">...詳全文（共678字）</a></span>]]></description>
			<content:encoded><![CDATA[<p>之前寫了一篇讓 wordpress 可以支援 <a href="http://code.google.com/apis/maps/">Google Map API</a> 的教學：<a href="http://blog.wu-boy.com/2008/10/04/532/">[AJAX] google map 的應用</a>，不過我將 Wordpress 升級到 WordPress 2.8-bleeding-edge 版本，發現 javascript 語言就不能使用了，因為在寫 javascript 的時候，有利用到 &lt;br /&gt; 這個 Tag，不過送出後轉出來的 javascript 語言會變成編碼過後，&#8221; 會變成 &amp;#8221; Big5 編碼，所以這個問題很困擾我，去找一下 ，Wordpress 把斷行完全用 wpautop 這個函式下去取代，所以你只要在內容寫入 &lt;br / &gt; 都會消失，不然就是出現怪問題。</p>
<p>這個問題也不是無解，在網路上找到兩個解法：</p>
<p>1. <a href="http://www.ooso.net/inline-js">inline-js &#8211; wordpress plugin</a><br />
您只要在 javascript 語言包一層 tag 就可以了</p>
<div class="codecolorer-container javascript " style="overflow:auto;white-space:nowrap;width:580px"><div class="javascript codecolorer" style="font-family:Monaco,Lucida Console,monospace">[inline]<br />
<span class="sy0">&lt;</span>script type<span class="sy0">=</span><span class="st0">&quot;text/javascript&quot;</span><span class="sy0">&gt;</span><br />
document.<span class="kw1">write</span><span class="br0">&#40;</span><span class="st0">&quot;hello world!&quot;</span><span class="br0">&#41;</span><span class="sy0">;</span><br />
<span class="sy0">&lt;/</span>script<span class="sy0">&gt;</span><br />
[/inline]</div></div>
<p><span id="more-910"></span><br />
2. <a href="http://www.automateyourbusiness.com/updates/2007/07/18/javascript-in-wordpress-posts/" target="_blank">Javascript In WordPress Posts</a> 這個外掛，下載點（適用至wordpress2.7）：<a href="http://www.automateyourbusiness.com/downloads/wp-ayb-javascriptinposts.zip">wp-ayb-javascriptinposts.zip</a>，參考文章：<a href="http://andy.diimii.com/2009/02/%E8%AE%93wordpress%E6%96%87%E7%AB%A0post%E5%92%8Cpage%E5%8F%AF%E4%BB%A5%E4%BD%BF%E7%94%A8javascript/">讓wordpress文章(post和page)可以使用javascript</a><br />
這外掛就是將 wpautop 拿掉，自行寫取代函式，將 javascript 支援，不過目前有一個小 bug，那就是如果 script 裡面有 &#8216; 的話，要把他先取代成 &#8220;，不然所有的 &#8216; 都會變成 \\&#8217;，這樣 javascript 就不會動了喔</p>
<p>我個人是利用 2 這個方式，感覺比較容易。</p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2010/02/03/1997/" title="Google Chrome 支援超過 40,000 Extensions! with Greasemonkey">Google Chrome 支援超過 40,000 Extensions! with Greasemonkey (1)</a></li><li><a href="http://blog.wu-boy.com/2008/12/19/637/" title="[AJAX] jQuery plugin cascade 多重下拉選單應用 by json">[AJAX] jQuery plugin cascade 多重下拉選單應用 by json (5)</a></li><li><a href="http://blog.wu-boy.com/2008/08/14/308/" title="[教學]網頁簡體繁體轉換程式(Google AJAX Language API)">[教學]網頁簡體繁體轉換程式(Google AJAX Language API) (0)</a></li><li><a href="http://blog.wu-boy.com/2008/05/13/251/" title="[jQuery筆記] 時間日期外掛：timepicker | jQuery Plugins ">[jQuery筆記] 時間日期外掛：timepicker | jQuery Plugins  (0)</a></li><li><a href="http://blog.wu-boy.com/2008/04/24/188/" title="[Wordpress plugin] 好用的 CodeColorer 跟 AddQuicktag 搭配使用">[Wordpress plugin] 好用的 CodeColorer 跟 AddQuicktag 搭配使用 (1)</a></li><li><a href="http://blog.wu-boy.com/2010/06/20/2227/" title="Wordpress 3.0 Release &#8220;Thelonious&#8221;">Wordpress 3.0 Release &#8220;Thelonious&#8221; (0)</a></li><li><a href="http://blog.wu-boy.com/2010/05/08/2152/" title="[筆記] iframe 父頁子頁呼叫函式 parent call function">[筆記] iframe 父頁子頁呼叫函式 parent call function (0)</a></li><li><a href="http://blog.wu-boy.com/2010/05/02/2145/" title="[jQuery] 解決 IE6 PNG 透明背景 (Supersleight jQuery Plugin for Transparent PNGs in IE6)">[jQuery] 解決 IE6 PNG 透明背景 (Supersleight jQuery Plugin for Transparent PNGs in IE6) (2)</a></li><li><a href="http://blog.wu-boy.com/2010/04/13/2130/" title="[jQuery] AjaxFileUpload : Multiple File Upload plugin">[jQuery] AjaxFileUpload : Multiple File Upload plugin (5)</a></li><li><a href="http://blog.wu-boy.com/2010/01/29/1972/" title="Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6">Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6 (0)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2009/03/03/910/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars</title>
		<link>http://blog.wu-boy.com/2009/02/27/840/</link>
		<comments>http://blog.wu-boy.com/2009/02/27/840/#comments</comments>
		<pubDate>Fri, 27 Feb 2009 03:43:12 +0000</pubDate>
		<dc:creator>appleboy</dc:creator>
				<category><![CDATA[Network]]></category>
		<category><![CDATA[www]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blog.wu-boy.com/?p=840</guid>
		<description><![CDATA[Gmail 推廣到現在，目前很多人都在使用，Gmail Blog 也開發許多模組讓大家使用，之前 Gmail 都不支援多重檔案選擇上傳，都必需要分別選取檔案，來達到多重上傳，而且每次上傳都不知道進度，也不確定是否上傳成功，現在 Gmail 改變了一些作法，來達到附件檔案上傳進度跟多重檔案選取，如果您要選取多個檔案上傳，您只要按住 Ctrl 加上檔案就可以多重選取了，相當方便，或者是按住 Shift 來達到大量選取檔案，可以參考此篇：Updates to attachments: multi-select and progress bars
<span class="readmore"><a href="http://blog.wu-boy.com/2009/02/27/840/" title="[Google]Gmail 支援選擇多重檔案上傳跟進度狀況狀態 multi-select and progress bars" target="_blank">...詳全文（共274字）</a></span>]]></description>
			<content:encoded><![CDATA[<p><a href="http://mail.google.com">Gmail</a> 推廣到現在，目前很多人都在使用，<a href="http://gmailblog.blogspot.com">Gmail Blog</a> 也開發許多模組讓大家使用，之前 <a href="http://mail.google.com">Gmail</a> 都不支援多重檔案選擇上傳，都必需要分別選取檔案，來達到多重上傳，而且每次上傳都不知道進度，也不確定是否上傳成功，現在 <a href="http://mail.google.com">Gmail</a> 改變了一些作法，來達到附件檔案上傳進度跟多重檔案選取，如果您要選取多個檔案上傳，您只要按住 Ctrl 加上檔案就可以多重選取了，相當方便，或者是按住 Shift 來達到大量選取檔案，可以參考此篇：<a href="http://gmailblog.blogspot.com/2009/02/updates-to-attachments-multi-select-and.html">Updates to attachments: multi-select and progress bars</a></p>
<p>底下就是 Gmail 上傳附件檔案的圖示：<br />
<a href="http://www.flickr.com/photos/appleboy/3313315418/" title="Gmail (by appleboy46)"><img src="http://farm4.static.flickr.com/3325/3313315418_bb933a9d60.jpg" title="Gmail (by appleboy46)" alt="Gmail (by appleboy46)" width="500" height="144" /></a></p>
<h3>Related View</h3><ul class="related_post"><li><a href="http://blog.wu-boy.com/2009/06/06/1421/" title="[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換">[Gmail] 最近發布的功能：進階搜尋，預覽收件夾，郵件內容語言轉換 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/04/05/1129/" title="New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案">New in Labs:Gmail search autocomplete 快速找尋使用者 email 跟附件檔案 (2)</a></li><li><a href="http://blog.wu-boy.com/2009/02/21/819/" title="[google] Gmail Multiple Inboxes 支援多重資料夾">[google] Gmail Multiple Inboxes 支援多重資料夾 (0)</a></li><li><a href="http://blog.wu-boy.com/2009/01/29/742/" title="[Google]Offline Gmail 新功能  ">[Google]Offline Gmail 新功能   (0)</a></li><li><a href="http://blog.wu-boy.com/2010/02/03/1997/" title="Google Chrome 支援超過 40,000 Extensions! with Greasemonkey">Google Chrome 支援超過 40,000 Extensions! with Greasemonkey (1)</a></li><li><a href="http://blog.wu-boy.com/2010/01/29/1972/" title="Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6">Google Chrome 推出 4.0 穩定版 &#038; Mozilla 推出 FireFox 3.6 (0)</a></li><li><a href="http://blog.wu-boy.com/2010/01/17/1957/" title="How to install Google Web Toolkit  with Eclipse">How to install Google Web Toolkit  with Eclipse (2)</a></li><li><a href="http://blog.wu-boy.com/2009/11/17/1836/" title="[Gmail] offline Gmail 根據 Labels 自訂選擇下載郵件備份 ">[Gmail] offline Gmail 根據 Labels 自訂選擇下載郵件備份  (0)</a></li><li><a href="http://blog.wu-boy.com/2009/03/27/1081/" title="[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件">[PHP] Zend 使用 Google Calendar API &#8211; 瀏覽事件 (3)</a></li><li><a href="http://blog.wu-boy.com/2009/03/26/1075/" title="[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設">[PHP] Zend 使用 Google Calendar API &#8211; 環境建立架設 (3)</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://blog.wu-boy.com/2009/02/27/840/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
