外観APIキーとCXが生成されていることを確認する必要があります。私は、そうでない場合は、あなたがこれらの場所でそれを行うことができます、あなたはすでにそれをやったと仮定しています:
- API Key(あなたが新しいブラウザキーを作成する必要があります)
- 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逆シリアル化を辞書に使用しています。これは、検索結果スキーマを実装するクラスを作成したくないため、便宜上のものです。このアプローチでは、ペイロードはキーと値のペアのネストされたセットです。最も興味のあるのは、検索結果(最初のページ、私が推測する)であるアイテムコレクションです。私は "タイトル"と "リンク"プロパティにのみアクセスしていますが、ドキュメンテーションやデバッガで調べること以上に多くのことがあります。
"APIリファレンス"リンクが無効です... – billy