public void TestGetJson() { search = new GoogleSearch(ht, apiKey); JObject data = search.GetJson(); JArray coffeeShops = (JArray)data["local_results"]["places"]; int counter = 0; foreach (JObject coffeeShop in coffeeShops) { Assert.IsNotNull(coffeeShop["title"]); counter++; } Assert.IsTrue(counter >= 1); coffeeShops = (JArray)data["organic_results"]; Assert.IsNotNull(coffeeShops); foreach (JObject coffeeShop in coffeeShops) { Console.WriteLine("Found: " + coffeeShop["title"]); Assert.IsNotNull(coffeeShop["title"]); } // Release socket connection search.Close(); }
public void TestGetArchive() { // Skip test on travis ci if (apiKey == null || apiKey == "demo") { return; } search = new GoogleSearch(ht, apiKey); JObject data = search.GetJson(); string id = (string)((JObject)data["search_metadata"])["id"]; JObject archivedSearch = search.GetSearchArchiveJson(id); int expected = GetSize((JArray)data["organic_results"]); int actual = GetSize((JArray)archivedSearch["organic_results"]); Assert.IsTrue(expected == actual); }
static void Main(string[] args) { // secret api key from https://serpapi.com/dashboard String apiKey = Environment.GetEnvironmentVariable("API_KEY"); if (apiKey == null) { Console.WriteLine("API_KEY environment variable be set your secret api key visit: https://serpapi.com/dashboard"); Environment.Exit(1); } // Localized search for Coffee shop in Austin Texas Hashtable ht = new Hashtable(); ht.Add("q", "Coffee"); ht.Add("hl", "en"); ht.Add("google_domain", "google.com"); GoogleSearch search = new GoogleSearch(ht, apiKey); try { Console.WriteLine("Get location matching: Austin"); JArray locations = search.GetLocation("Austin,TX", 3); foreach (JObject location in locations) { Console.WriteLine(location); } // set location search.parameterContext.Add("location", (string)locations[0]["canonical_name"]); Console.WriteLine("Search coffee in Austin, Texas on Google [1 credit]"); JObject data = search.GetJson(); Console.WriteLine("local coffee shop"); JArray coffeeShops = (JArray)data["organic_results"]; foreach (JObject coffeeShop in coffeeShops) { Console.WriteLine("Found: " + coffeeShop["title"]); } Console.WriteLine("organic result coffee shop"); coffeeShops = (JArray)data["organic_results"]; foreach (JObject coffeeShop in coffeeShops) { Console.WriteLine("Found: " + coffeeShop["title"]); } string id = (string)((JObject)data["search_metadata"])["id"]; Console.WriteLine("Search from the archive: " + id + ". [0 credit]"); JObject archivedSearch = search.GetSearchArchiveJson(id); foreach (JObject coffeeShop in (JArray)archivedSearch["organic_results"]) { Console.WriteLine("Found: " + coffeeShop["title"]); } // Get account information Console.WriteLine("Account information: [0 credit]"); JObject account = search.GetAccount(); Dictionary <string, string> dictObj = account.ToObject <Dictionary <string, string> >(); foreach (string key in dictObj.Keys) { Console.WriteLine(key + " = " + dictObj[key]); } // write: // account_id = xx // api_key = xx // account_email = [email protected] // plan_id = // plan_name = No Plan // searches_per_month = 0 // this_month_usage = 0 // this_hour_searches = 1 // last_hour_searches = 0 } catch (SerpApiSearchException ex) { Console.WriteLine("Exception:"); Console.WriteLine(ex.ToString()); } // Close socket search.Close(); }