DoboWiki
Top
> 自由区/Webサービス紹介/Google SOAP Search API/Web検索機能のサンプル(C#) をテンプレートにして作成
自由区/Webサービス紹介/Google SOAP Search API/Web検索機能のサンプル(C#) をテンプレートにして作成
開始行:
*Google SOAP Search API - Web検索機能のサンプル(C#) [#e2...
#contents
**コード [#z9ffe333]
Wsdl.exe(Webサービス記述言語ツール)などでWebサービスプロ...
テキストボックスに入力されたキーワードをGoogleで検索し、...
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
//キーを指定。必ず変更すること。
string key = "XXXXXXXXXXXXXXXXXXXXXXXXXXX";
//結果の開始インデックス
int startIndex = 0;
//取得する結果の最大値
int maxResults = 10;
//検索の対象にする言語
string lr = "";
if (langJapanese.Checked)
lr = "lang_ja";
//国などを指定
string restricts = "";
if (countryJapan.Checked)
restricts = "countryJP";
//入力、出力文字コード。現在は指定不可。
string inputEncoding = "";
string outputEncoding = "";
//プロキシクラスのインスタンスを作成
Google.GoogleSearchService gs = new Google.Google...
Google.GoogleSearchResult res = null;
try
{
//検索する
res = gs.doGoogleSearch(
key,
TextBox1.Text,
startIndex,
maxResults,
autoFiltering.Checked,
restricts,
safeSearch.Checked,
lr,
inputEncoding,
outputEncoding);
}
catch (System.Web.Services.Protocols.SoapExceptio...
{
Label1.Text = "エラー:" + Server.HtmlEncode(...
return;
}
if (res == null)
{
Label1.Text = "エラー:結果を取得できませんで...
return;
}
//結果表示
Label1.Text = "";
Label1.Text += "<b>" + Server.HtmlEncode(res.sear...
"</b> の検索結果 約 " +
res.estimatedTotalResultsCount.ToString() + "...
res.startIndex.ToString() + " - " +
res.endIndex.ToString() + " 件目 (" +
res.searchTime.ToString() + " 秒)<br />";
//コメントがあるときは表示
if (res.searchComments != null && res.searchComme...
Label1.Text += "<br />" + res.searchComments ...
//Tipsがあるときは表示
if (res.searchTips != null && res.searchTips.Leng...
Label1.Text += "<br />" + res.searchTips + "<...
//カテゴリがあるときは表示
if (res.directoryCategories != null &&
res.directoryCategories.Length > 0)
{
Label1.Text += "<br /><b>カテゴリ:</b><br />";
Label1.Text += "<ul>";
foreach (Google.DirectoryCategory categories
in res.directoryCategories)
{
Label1.Text += "<li>" + categories.fullVi...
}
Label1.Text += "</ul>";
Label1.Text += "<br />";
}
//ヒットした検索結果
if (res.resultElements != null && res.resultEleme...
{
Label1.Text += "<ul>";
foreach (Google.ResultElement element in res....
{
//タイトルの表示(リンク付き)
Label1.Text += "<li><a href=\"" + element...
if (element.title != null && element.titl...
Label1.Text += element.title;
else
Label1.Text += element.URL;
Label1.Text += "</a>";
//ヒットした箇所の周辺を表示
if (element.snippet != null && element.sn...
Label1.Text += "<br />" + element.sni...
Label1.Text += "<br /><small>" + element....
//キャッシュのサイズを表示
Label1.Text += " - " + element.cachedSize;
//関連ページの有無を表示
if (element.relatedInformationPresent)
Label1.Text += " - 関連ページあり";
Label1.Text += "</small>\n";
}
Label1.Text += "</ul>";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Google SOAP Search APIのサンプル</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:T...
<asp:Button ID="Button1" runat="server" OnClick="...
Text="検索開始" /><br />
<asp:CheckBox ID="autoFiltering" runat="server"
Text="類似の結果を隠す" /><br />
<asp:CheckBox ID="langJapanese" runat="server"
Text="日本語のページのみ検索する" /><br />
<asp:CheckBox ID="countryJapan" runat="server"
Text="日本のサイトのみ検索する" /><br />
<asp:CheckBox ID="safeSearch" runat="server"
Text="アダルトコンテンツを除外する" /><br />
<br />
<asp:Label ID="Label1" runat="server" EnableViewS...
</asp:Label></div>
</form>
</body>
</html>
}}
**解説 [#h7f02450]
***GoogleSearchService.doGoogleSearchメソッド [#z58fd984]
GoogleSearchService.doGoogleSearchメソッドで検索します。d...
#pre{{
public GoogleSearchResult doGoogleSearch(
string key,
string q,
int start,
int maxResults,
bool filter,
string restrict,
bool safeSearch,
string lr,
string ie,
string oe
)
}}
パラメータ
|名前 |型 |説明 |h
|key |string |Googleから与えられた、Webサービスを使用す...
|q |string |検索する語句(クエリー)。|
|start |int |取得する結果の開始インデックス番号。0から始...
|maxResults |int |取得する結果の最大数。10以下とする。|
|filter |bool |類似した結果や、同じWebホストの結果を隠す...
|restrict |string |国(トップレベルドメイン名と、IPアドレ...
|safeSearch |bool |アダルトコンテンツを除外するか。|
|lr |string |検索の対象にする言語を指定する。日本語なら...
|ie |string |入力文字コードを指定する。ただし、現在は無...
|oe |string |出力文字コードを指定する。ただし、現在は無...
***GoogleSearchResultクラス [#f799cb3e]
doGoogleSearchメソッドは、GoogleSearchResultオブジェクト...
|名前 |型 |説明 |h
|documentFiltering |bool |フィルタリング(類似した、あ...
|searchComments |string |「"???"は使用されませんでした...
|estimatedTotalResultsCount |int |ヒットした結果のおおよ...
|estimateIsExact |bool |estimatedTotalResultsCountが正...
|resultElements |ResultElement[]|結果が格納された配列。|
|searchQuery |string |GoogleSearchServiceのq。|
|startIndex |int |検索結果で取得した始めの位置。1がは...
|endIndex |int |検索結果で取得した最後の位置。|
|searchTips |string |Googleの使い方のヒント。多分「も...
|directoryCategories |DirectoryCategory[]|該当するODPデ...
|searchTime |double |検索にかかった時間(秒)。|
***ResultElementクラス [#sb16a27d]
検索の結果は、GoogleSearchResult.resultElementsに格納され...
|名前 |型 |説明 |h
|summary |string |結果がODPディレクトリにある場合、ODPデ...
|URL |string |結果のURL。|
|snippet |string |結果のページ内でヒットした部分の周囲の...
|title |string |結果のタイトル。ヒットした部分があれば<B...
|cachedSize |string |キャッシュのサイズ。"100k"のような文...
|relatedInformationPresent|string|「関連ページ」があるか...
|hostName |string |同一ホストの結果がフィルタリングされた...
|directoryCategory|DirectoryCategory|結果がODPディレクト...
|directoryTitle|string |結果がODPディレクトリにある場合、...
***DirectoryCategoryクラス [#vf65c88d]
DirectoryCategoryクラスのプロパティは次の通りです。
|名前 |型 |説明 |h
|fullViewableName |string |ODPカテゴリのODPディレクトリ名...
|specialEncoding |string |ディレクトリ情報のエンコーディ...
//これより下は編集しないでください
#pageinfo([[:Category/.NET]] [[:Category/ASP.NET]],2006-0...
終了行:
*Google SOAP Search API - Web検索機能のサンプル(C#) [#e2...
#contents
**コード [#z9ffe333]
Wsdl.exe(Webサービス記述言語ツール)などでWebサービスプロ...
テキストボックスに入力されたキーワードをGoogleで検索し、...
#code(csharp){{
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional...
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs...
{
//キーを指定。必ず変更すること。
string key = "XXXXXXXXXXXXXXXXXXXXXXXXXXX";
//結果の開始インデックス
int startIndex = 0;
//取得する結果の最大値
int maxResults = 10;
//検索の対象にする言語
string lr = "";
if (langJapanese.Checked)
lr = "lang_ja";
//国などを指定
string restricts = "";
if (countryJapan.Checked)
restricts = "countryJP";
//入力、出力文字コード。現在は指定不可。
string inputEncoding = "";
string outputEncoding = "";
//プロキシクラスのインスタンスを作成
Google.GoogleSearchService gs = new Google.Google...
Google.GoogleSearchResult res = null;
try
{
//検索する
res = gs.doGoogleSearch(
key,
TextBox1.Text,
startIndex,
maxResults,
autoFiltering.Checked,
restricts,
safeSearch.Checked,
lr,
inputEncoding,
outputEncoding);
}
catch (System.Web.Services.Protocols.SoapExceptio...
{
Label1.Text = "エラー:" + Server.HtmlEncode(...
return;
}
if (res == null)
{
Label1.Text = "エラー:結果を取得できませんで...
return;
}
//結果表示
Label1.Text = "";
Label1.Text += "<b>" + Server.HtmlEncode(res.sear...
"</b> の検索結果 約 " +
res.estimatedTotalResultsCount.ToString() + "...
res.startIndex.ToString() + " - " +
res.endIndex.ToString() + " 件目 (" +
res.searchTime.ToString() + " 秒)<br />";
//コメントがあるときは表示
if (res.searchComments != null && res.searchComme...
Label1.Text += "<br />" + res.searchComments ...
//Tipsがあるときは表示
if (res.searchTips != null && res.searchTips.Leng...
Label1.Text += "<br />" + res.searchTips + "<...
//カテゴリがあるときは表示
if (res.directoryCategories != null &&
res.directoryCategories.Length > 0)
{
Label1.Text += "<br /><b>カテゴリ:</b><br />";
Label1.Text += "<ul>";
foreach (Google.DirectoryCategory categories
in res.directoryCategories)
{
Label1.Text += "<li>" + categories.fullVi...
}
Label1.Text += "</ul>";
Label1.Text += "<br />";
}
//ヒットした検索結果
if (res.resultElements != null && res.resultEleme...
{
Label1.Text += "<ul>";
foreach (Google.ResultElement element in res....
{
//タイトルの表示(リンク付き)
Label1.Text += "<li><a href=\"" + element...
if (element.title != null && element.titl...
Label1.Text += element.title;
else
Label1.Text += element.URL;
Label1.Text += "</a>";
//ヒットした箇所の周辺を表示
if (element.snippet != null && element.sn...
Label1.Text += "<br />" + element.sni...
Label1.Text += "<br /><small>" + element....
//キャッシュのサイズを表示
Label1.Text += " - " + element.cachedSize;
//関連ページの有無を表示
if (element.relatedInformationPresent)
Label1.Text += " - 関連ページあり";
Label1.Text += "</small>\n";
}
Label1.Text += "</ul>";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Google SOAP Search APIのサンプル</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="TextBox1" runat="server"></asp:T...
<asp:Button ID="Button1" runat="server" OnClick="...
Text="検索開始" /><br />
<asp:CheckBox ID="autoFiltering" runat="server"
Text="類似の結果を隠す" /><br />
<asp:CheckBox ID="langJapanese" runat="server"
Text="日本語のページのみ検索する" /><br />
<asp:CheckBox ID="countryJapan" runat="server"
Text="日本のサイトのみ検索する" /><br />
<asp:CheckBox ID="safeSearch" runat="server"
Text="アダルトコンテンツを除外する" /><br />
<br />
<asp:Label ID="Label1" runat="server" EnableViewS...
</asp:Label></div>
</form>
</body>
</html>
}}
**解説 [#h7f02450]
***GoogleSearchService.doGoogleSearchメソッド [#z58fd984]
GoogleSearchService.doGoogleSearchメソッドで検索します。d...
#pre{{
public GoogleSearchResult doGoogleSearch(
string key,
string q,
int start,
int maxResults,
bool filter,
string restrict,
bool safeSearch,
string lr,
string ie,
string oe
)
}}
パラメータ
|名前 |型 |説明 |h
|key |string |Googleから与えられた、Webサービスを使用す...
|q |string |検索する語句(クエリー)。|
|start |int |取得する結果の開始インデックス番号。0から始...
|maxResults |int |取得する結果の最大数。10以下とする。|
|filter |bool |類似した結果や、同じWebホストの結果を隠す...
|restrict |string |国(トップレベルドメイン名と、IPアドレ...
|safeSearch |bool |アダルトコンテンツを除外するか。|
|lr |string |検索の対象にする言語を指定する。日本語なら...
|ie |string |入力文字コードを指定する。ただし、現在は無...
|oe |string |出力文字コードを指定する。ただし、現在は無...
***GoogleSearchResultクラス [#f799cb3e]
doGoogleSearchメソッドは、GoogleSearchResultオブジェクト...
|名前 |型 |説明 |h
|documentFiltering |bool |フィルタリング(類似した、あ...
|searchComments |string |「"???"は使用されませんでした...
|estimatedTotalResultsCount |int |ヒットした結果のおおよ...
|estimateIsExact |bool |estimatedTotalResultsCountが正...
|resultElements |ResultElement[]|結果が格納された配列。|
|searchQuery |string |GoogleSearchServiceのq。|
|startIndex |int |検索結果で取得した始めの位置。1がは...
|endIndex |int |検索結果で取得した最後の位置。|
|searchTips |string |Googleの使い方のヒント。多分「も...
|directoryCategories |DirectoryCategory[]|該当するODPデ...
|searchTime |double |検索にかかった時間(秒)。|
***ResultElementクラス [#sb16a27d]
検索の結果は、GoogleSearchResult.resultElementsに格納され...
|名前 |型 |説明 |h
|summary |string |結果がODPディレクトリにある場合、ODPデ...
|URL |string |結果のURL。|
|snippet |string |結果のページ内でヒットした部分の周囲の...
|title |string |結果のタイトル。ヒットした部分があれば<B...
|cachedSize |string |キャッシュのサイズ。"100k"のような文...
|relatedInformationPresent|string|「関連ページ」があるか...
|hostName |string |同一ホストの結果がフィルタリングされた...
|directoryCategory|DirectoryCategory|結果がODPディレクト...
|directoryTitle|string |結果がODPディレクトリにある場合、...
***DirectoryCategoryクラス [#vf65c88d]
DirectoryCategoryクラスのプロパティは次の通りです。
|名前 |型 |説明 |h
|fullViewableName |string |ODPカテゴリのODPディレクトリ名...
|specialEncoding |string |ディレクトリ情報のエンコーディ...
//これより下は編集しないでください
#pageinfo([[:Category/.NET]] [[:Category/ASP.NET]],2006-0...
ページ名:
▲
▼
[
トップ
] [
新規
|
子ページ作成
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]