❶ 如何利用Google的Web服務(GOOGLE API)
然而,有經驗的Google用戶已經意識到了Google還提供了額外服務。網頁緩沖就是其中一項,它可以用來檢查無法訪問到的過期網頁以及網址。 Googel還提供一個不廣為人知的功能,即拼寫檢查。例如,假設你在搜索中鍵入「web servise」,Google就會給搜索結果的同時還給出一個鏈接詢問你是否要搜索「web service」。這三項功能(搜索、檢索頁面緩沖以及拼寫檢查)的每一項都可以通過Google的Web服務API來訪問到。 連接Google為了使用Google的Web服務,你需要在Google上注冊並獲得一個帳號。你還需要下載開發者套件。這個套件包括一個JAR文件、文檔、一個WSDL文件以及若干例子。JAR文件包括了訪問Web服務的預建wrapper。下載了開發者套件後,你只需要把這個JAR文件添加到你的classpath中去。 在使用Google API之前你還需要創建一個Google帳號。創建完帳號之後,Google會為你分配一個唯一的密匙碼(key code),每次調用API時都需要這個密匙碼,它用於識別你的身份。Google限制一個密匙每天調用API的次數不超過一千次。 客戶端的一個例子 你可以用Google API來訪問我們上面提到的三種方法。我們將創建一個小的Java應用程序,它根據命令行所提供的關鍵字在Google上進行搜索。清單1給出了我們的Java文件。 清單1:MyGoogleSearch.java import java.net.*; import java.util.*; import org.apache.soap.*; import org.apache.soap.rpc.*; import com.google.soap.search.*; public class MyGoogleSearch { public static void main (String[] args) { GoogleSearch gs; GoogleSearchResult gsr; String key = "";try {if (args.length < 1) { System.out.println("Usage: java MyGoogleSearch /"some string/"/n"); System.exit(0);}gs = new GoogleSearch(); gs.setKey(key); gs.setQueryString(args[0]); gsr = gs.doSearch(); System.out.println("Result: " + gsr); } catch (Exception e) { System.out.println("Exception: " + e.getMessage()); e.printStackTrace();}}}GoogleSearch類實現了上述代碼的主要功能。這個類在一個「標准」Java類中包裝Google的Web服務。在GoogleSearch類中,每一個Web服務方法都用一個Java方法來表示,例如doSearch()。參數並沒有在方法中指定,而是從屬於GoogleSearch類,在調用某個方法之前必須指定其參數。 在最簡配置的搜索中,你至少需要提供密匙碼和查詢字元串。我們的密匙碼已經在上述文件中寫死了(代碼「 String key = "";」),查詢字元串來自類運行時的命令行。 方法doSearch()的返回值是一個GoogleSearchResult類。這個類包括了搜索的所有結果,例如搜索到的頁面數、描述、緩沖大小以及其它有關信息。為了簡化我們這個例子,搜索結果用隱含的toString()方法輸出到控制台。每一項結果都包括一個URL、標題、內容摘錄、目錄類別、目錄標題、摘要、緩沖大小以及主機名;它還指出相關信息是否可以訪問到。