我剛發現Google APIs Client Library for .NET,但由於缺乏文檔,我很難弄明白。如何使用Google Custom Search API for .NET進行搜索?
我試圖做一個簡單的測試,進行自定義搜索,我已經等中望去,在以下命名空間:
Google.Apis.Customsearch.v1.Data.Query
我試圖創建一個查詢對象,並填寫SearchTerms ,但我怎樣才能從該查詢中獲取結果?
我剛發現Google APIs Client Library for .NET,但由於缺乏文檔,我很難弄明白。如何使用Google Custom Search API for .NET進行搜索?
我試圖做一個簡單的測試,進行自定義搜索,我已經等中望去,在以下命名空間:
Google.Apis.Customsearch.v1.Data.Query
我試圖創建一個查詢對象,並填寫SearchTerms ,但我怎樣才能從該查詢中獲取結果?
看看API Reference 使用代碼google-api-dotnet-client
CustomsearchService svc = new CustomsearchService();
string json = File.ReadAllText("jsonfile",Encoding.UTF8);
Search googleRes = null;
ISerializer des = new NewtonsoftJsonSerializer();
googleRes = des.Deserialize<Search>(json);
或
CustomsearchService svc = new CustomsearchService();
Search googleRes = null;
ISerializer des = new NewtonsoftJsonSerializer();
using (var fileStream = new FileStream(filename, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
googleRes = des.Deserialize<Search>(fileStream);
}
與流也可以讀出的webClient
或HttpRequest
,如你所願
首先, ,您需要確保您已經生成了您的API密鑰和CX。我假設你已經做了已經,否則,你可以在這些地方做:
一旦你擁有了這些,這裏是執行搜索和轉儲所有的標題/鏈接一個簡單的控制檯應用程序:
static void Main(string[] args)
{
WebClient webClient = new WebClient();
string apiKey = "YOUR KEY HERE";
string cx = "YOUR CX HERE";
string query = "YOUR SEARCH HERE";
string result = webClient.DownloadString(String.Format("https://www.googleapis.com/customsearch/v1?key={0}&cx={1}&q={2}&alt=json", apiKey, cx, query));
JavaScriptSerializer serializer = new JavaScriptSerializer();
Dictionary<string, object> collection = serializer.Deserialize<Dictionary<string, object>>(result);
foreach (Dictionary<string, object> item in (IEnumerable)collection["items"])
{
Console.WriteLine("Title: {0}", item["title"]);
Console.WriteLine("Link: {0}", item["link"]);
Console.WriteLine();
}
}
由於你可以看到,我將一個通用的JSON反序列化轉換爲一個字典,而不是強類型的。這是爲了方便,因爲我不想創建一個實現搜索結果模式的類。採用這種方法,有效載荷是嵌套的鍵值對集合。你最感興趣的是項目集合,這是搜索結果(我假設的第一頁)。我只能訪問「標題」和「鏈接」屬性,但還有很多可以從文檔中看到或在調試器中檢查。
我正在尋找如何使用[Google API的.NET客戶端庫](http://code.google.com/p/google-api-dotnet-客戶端/ wiki/API#CustomSearch_API)。無論如何thanx ..這也有幫助。 – Darshana
您可以從Getting Started with the API開始。
我的不好,我的第一個答案是沒有使用Google API。
作爲一個先決條件,你需要得到Google API client library
(特別是,你將需要引用Google.Apis.dll在您的項目)。現在,假設你有你的API密鑰和CX,這裏是得到的結果相同的代碼,但是現在使用實際的API:
string apiKey = "YOUR KEY HERE";
string cx = "YOUR CX HERE";
string query = "YOUR SEARCH HERE";
Google.Apis.Customsearch.v1.CustomsearchService svc = new Google.Apis.Customsearch.v1.CustomsearchService();
svc.Key = apiKey;
Google.Apis.Customsearch.v1.CseResource.ListRequest listRequest = svc.Cse.List(query);
listRequest.Cx = cx;
Google.Apis.Customsearch.v1.Data.Search search = listRequest.Fetch();
foreach (Google.Apis.Customsearch.v1.Data.Result result in search.Items)
{
Console.WriteLine("Title: {0}", result.Title);
Console.WriteLine("Link: {0}", result.Link);
}
Google.Apis.Customsearch.v1客戶端庫 http://www.nuget.org/packages/Google.Apis.Customsearch.v1/
您的「API參考」鏈接已死亡... – billy