跳到主要內容

佛心來著的 Google Data API – for JAVA

R0017362

 

這幾年來Google 提供了越來越多的產品與服務,

而且幾乎都是免費使用!

 

例如在服務端,

使用Google Apps ,可以整合整個企業入口與內部系統,

包含了內部人員系統、網域管理系統、E-Mail系統(GMail)、資料管理系統(Google docs)與網站內容管理系統(Google sites)等等多元化的服務。

詳見:『Google Apps開放個人應用服務囉

 

此外在開發環境,還有容易使用的Google App Engine,

可以讓使用者無需架站,就能擁有一個網路伺服空間 (還是雲端的環境呢)

詳見:『雲端的開始:Netbeans 無痛 Google App Engine Java 服務開發

 

 

不過,那在底層的程式端呢?

在這麼大量的服務選擇下,若能讓使用者透過自行開發軟體來連結使用,

不就省去許多的開發時間跟心力?

 

這樣的需求,Google也都有想到了,

Google Data API就是這樣佛心下的產物,

透過Google Data API,造福了許許多多的程式設計師,

在幾乎不用自己開發的狀態下,就可以得到Google提供的服務功能。

 

只要透過Google 提供的Data API 涵式庫,就能直接連結已經註冊的服務內容,

目前,Google Data API 支援的語言依不同的服務有些微不同,

但普遍有: Java, .NET, PHP, Python, JS, Obj-c, Ruby等,

而目前已開放API連結的服務如下: (Info from : Google )

 

API Home

Guides

Client Libraries

Google Analytics Data Export API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(JS, Java, PHP, Python, Ruby)
Google Apps APIs List of All Apps APIs  
Google Base Data API Developer's Guide
Reference Guide
 
Blogger Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, .NET, PHP, Python, JS, Obj-C)
Google Booksearch Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, PHP)
Google Calendar Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, .NET, PHP, Python, JS, Obj-C)
Google Code Search Data API Developer's Guide
Reference Guide
 
Google Contacts Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, .NET, Python, JS, Obj-C)
Google Documents List Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, .NET, PHP, Python, Obj-C)
Google Finance Portfolio Data API Developer's Guide
Reference Guide
 
Google Health Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, .NET, PHP, Python, Ruby)
Google Maps Data API Developer's Guide
Reference Guide
 
Picasa Web Albums Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, .NET, PHP, Python, Obj-C)
Google Project Hosting Issue Tracker API Reference Guide  
Google Sidewiki Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, JavaScript)
Google Sites Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, .NET, PHP, Python, Obj-C)
Google Spreadsheets Data API Developer's Guide
Reference Guide
Client Libraries and Sample Code
(Java, .NET, PHP, Python, Obj-C)
Google Translator Toolkit Data API Developer's Guide
Reference Guide
 
Google Webmaster Tools Data API Developer's Guide
Reference Guide
 
YouTube Data API Developer's Guide Client Libraries and Sample Code
(Java, .NET, PHP, Python, Obj-C)

 

上面列了一大堆常見的或根本沒見過的服務可以使用,是不是很讓人興奮呢?

接下來以Java為例,說明一下如何安裝這些服務的Data API套件。

(有關Java 所支援的服務,請見:http://code.google.com/p/gdata-java-client/)

 

首先,必須要下載 Google提供的涵式庫(http://code.google.com/p/gdata-java-client/downloads/list),

例:gdata-src.java-1.42.0.zip

 

解壓縮後產生gdata目錄,準備隨後進行compile,

在compiler前有幾件事要先準備

  1. 系統中已有 Java Development Kit (JDK) version 5.0 以上版本
  2. 確保環境變數中有JAVA_HOME路徑 (指向jdk)
  3. 系統中有Apache ANT用以進行compile (基本上Netbeans已內建)
  4. 確定系統中以下三個jar檔的路徑:activation.jar、mail.jar、servlet.jar

 

當中,

activation.jar 是 Sun's JavaBeans Activation Framewrok,

servlet.jar 是 Sun's Servlet API

mail.jar 是 Sun's JavaMail API

 

不是每個服務都會用到上面的jar檔,

但只要沒有安裝,就無法順利compile,

而這些jar檔基本上可以在J2EE套件、Glassfish server與Netbeans裡找到。

 

隨後面要將上述檔的路徑修改到gdata/java/build-src/build.properties  檔中的指定路徑,

(記得,路徑 \ 要改為 / )

便可在gdata/java/目錄下透過ANT進行compile  ( ant -f build-src.xml )

 

compile後將會產生一個classes目錄,

最基本client使用到的是core 目錄下的類別,

其他各個服務要使用到的類別會含在不同的目錄中,可查閱相關目錄的document。

 

當專案匯入Google Data API後,便可以直接透過物件,

在程式內設定已註冊的Google帳號密碼,便可以連線到指定的服務了,

Google DATA API的運作方式使用HTTP傳送,

所以在資料傳遞上只要參考各服務提供的Sample Code便不會有太大問題,

 

以上,很快完成了Google Data API設定,

 

接下來就開始暢遊Google 服務吧。

 

BP 2011.01.14

留言

這個網誌中的熱門文章

醫學健康跨領域合作的開始:資料工程

一直都很喜歡在會議上與跨領域的專家、醫師、學者分享我們在數據工程與分析應用上的發展經驗。 許多的專家學者,對於大數據應用的認知都仍侷限在一個超大型結構化資料集的子集合應用,在規劃好的條件設定下,針對特定的目標(疾病、行為)進行篩選,將數據narrow down到可以被個人電腦或是單一伺服器架構處理的小型資料集。 這樣的半手工處理方式,對於專一(Specific)領域主題的資料追蹤計算或許已經十分足夠,但當中倘若資料清理方式有改變、篩選條件增減,所有的數據都要從raw重新處理,不僅造成大量的時間與人力浪費,對於專案計畫進度的延宕更是麻煩。這些還不包含

Google 資料庫方案–Spreadsheet–(1)資料呈現

HEMiDEMi 的標籤: Google , Google SpreadSheet , 雲端 早在規劃『 教育,意義! 』project時, 便有打算將整個網站建立過程撰寫一篇教學,讓有興趣以google 服務為基礎進行開發的朋友參考。 沒想到這個想法擺著就拖了好幾個月, 好在學生提出了問題,就趁這機會寫一寫吧。 基本上『 教育,意義! 』網站的架構完全建立在Google提供的服務, 廣義來說也是個雲端的系統, 所有的資料是分散在不同的服務架構下,再用GAE, Javascrript將服務資訊串接起來, 由Blogspot 統一呈現。 省了租主機的費用,或架站的硬體、電費, 最好的地方在於不用管理主機維運的問題, 只要專心做我的創意、嘗鮮就好了!!   多棒! 若將『 教育,意義! 』網站依功能層次來分類,可以分為三層結構, 當中的層次與使用技術大致如下: UI 介面層 服務 : Blogspot (網站介面) , Picasa (相簿空間), Google Apps 技術 : Javascript , AJAX ( JQuery ) App應用層  服務 : Google App Engine (GAE) 技術 : Java, Java Server Page (JSP) 資料層 服務 : Google Docs (文件), Google Spreadsheet (試算表) 技術/函式庫 : Java, Google Data APIs 本篇文章將著重在介紹以Google Spreadsheet 做為雲端資料庫, 其他主題將會陸續推出。 若對Google API 與 Google App Engine 初步建置有興趣, 可以參考之前文章: 佛心來著的 Google Data API – for JAVA 雲端的開始:Netbeans 無痛 Google App Engine Java 服務開發 Google Spreadsheet 做為資料庫系統 對於小型的資料系統來說, 採用Google Spreadsheet做為應用程式資料庫(如問卷調查或線上系統) 也算堪用, 目前的儲存限制為 : 40 萬個儲存格 每張工作表最多...

當咒術成真 - 文字生成的虛擬世界

  2024/02  這幾天灌爆各大ai社群的,不外乎就是文字生成高清畫質影像的OpenAI Sora , 讓人驚艷的細膩表現,自動化的場景生成與運鏡效果,縱使這個概念並不是多創新的模式,但Open AI始終很懂得抓住大家眼球  (Sora的各種生成影片: https://openai.com/sora  ) 關於Sora 的技術與介紹,不妨看看chatGPT 對它的描述: OpenAI Sora文字-視訊生成模型 在視頻數據上進行大規模訓練生成模型,具體而言,OpenAI聯合訓練了文本條件擴散模型,處理不同持續時間、解析度和長寬比的視頻和圖像。利用了一種在視頻和圖像潛碼的時空塊上操作的轉換器架構。受到Srivastava等人(2015年)在使用LSTMs進行視頻表示學習的無監督學習的啟發,OpenAI的最大模型Sora擴展了這些概念,能夠生成一分鐘的高保真度視頻。此外,Chiappa等人(2017年)描述的循環環境模擬器方法與我們的方法論框架相一致,表明擴大視頻生成模型的規模是建立通用物理世界模擬器的一條有希望的道路。 一、技術創新 OpenAI 的 Sora 模型在技術創新上主要融合了 diffusion models 與 transformer models 的特點,這一結合代表著從文字描述到視覺內容生成的一大進步。根據 Goodfellow et al. (2014) 的研究,Generative Adversarial Nets (GANs) 開創了使用機器學習生成圖像的新方法,而 diffusion models 則透過逆向的擴散過程從隨機噪聲中逐步建構出有意義的圖像,提供了一種不同於傳統 GANs 的新途徑。另一方面,Vaswani et al. (2017) 提出的 transformer 模型,通過其自注意力機制有效處理長距離依賴關係,已廣泛應用於語言模型中。Sora 模型的創新之處在於將這兩種技術融合應用,實現了從簡單文本提示生成高質量視覺內容的能力,這不僅展示了機器學習技術的新高度,也為未來的影像生成、自然語言處理和人機交互開啟了新的可能性。 二、物理現象與現實世界的模擬 Sora 的另一大進步是在模擬現實世界物理現象方面的表現。雖然現有模型如 Raissi et al. (2019) 所提出的 Physi...