public void TestGetJson()
        {
            client = new BingSearchResultsClient(ht, apiKey);
            JObject data = client.GetJson();

            Assert.AreEqual(data["search_metadata"]["status"], "Success");

            JArray coffeeShops = (JArray)data["organic_results"];

            Assert.IsNotNull(coffeeShops);
            foreach (JObject coffeeShop in coffeeShops)
            {
                Console.WriteLine("Found: " + coffeeShop["title"]);
                Assert.IsNotNull(coffeeShop["title"]);
            }
        }
Ejemplo n.º 2
0
        private async Task <List <SearchResult> > GetSearchWithApiResults(string searchString)
        {
            var ht = new Hashtable {
                { "q", searchString }, { "num", 20 }
            };
            var googleClient = new GoogleSearchResultsClient(ht, _apiKey);
            var bingClient   = new BingSearchResultsClient(ht, _apiKey);

            var resultTasks = new List <Task <List <SearchResult> > >()
            {
                SearchWithApi.SearchInYandexAsync(searchString, _yandexSearchString),
                Task.Run(() => SearchWithApi.SearchWithSerpApi(searchString, googleClient)),
                Task.Run(() => SearchWithApi.SearchWithSerpApi(searchString, bingClient))
            };

            var results = await Task.WhenAny(resultTasks).Result;

            return(results);
        }
Ejemplo n.º 3
0
        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("location", "Austin, Texas, United States");
            ht.Add("q", "Coffee");
            ht.Add("hl", "en");
            ht.Add("google_domain", "google.com");

            try
            {
                BingSearchResultsClient client = new BingSearchResultsClient(ht, apiKey);

                Console.WriteLine("Search coffee in Austin, Texas on Google [1 credit]");
                JObject data = client.GetJson();
                Console.WriteLine("local coffee shop");
                JArray coffeeShops = (JArray)data["local_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 = client.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 = client.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 (SerpApiClientException ex)
            {
                Console.WriteLine("Exception:");
                Console.WriteLine(ex.ToString());
            }
        }