Google 使用 C# 搜索 API
Google search API with C#
我正在尝试使用 google 搜索 api 使用此代码:
// perform search
WebQuery retreiver = new WebQuery(query);
retreiver.StartIndex.Value = 1;
retreiver.HostLangauge.Value = Languages.English;
IGoogleResultSet<GoogleWebResult> rawresults = GoogleService.Instance.Search<GoogleWebResult>(retreiver);
//declare results list
List<string> resultslist = new List<string>();
//add results to list
foreach (GoogleWebResult result in rawresults.Results)
{
resultslist.Add(result.Content);
}
用这个 api - Search AP
但我一直收到未设置对象实例的对象引用错误,您能解释一下错误的原因和方式吗?
查看 source code of GoogleService class 后,您的代码缺少一些空值检查。如果抛出异常,方法 Search<ResultType>(IGoogleQuery query)
return 一个空引用。
您可以检查内部异常,您可能会发现空引用异常背后的确切错误是什么。
// perform search
WebQuery retreiver = new WebQuery(query);
retreiver.StartIndex.Value = 1;
retreiver.HostLangauge.Value = Languages.English;
IGoogleResultSet<GoogleWebResult> rawresults = GoogleService.Instance.Search<GoogleWebResult>(retreiver);
if(rawresults!=null)
{
//declare results list
List<string> resultslist = new List<string>();
//add results to list
foreach (GoogleWebResult result in rawresults.Results)
{
resultslist.Add(result.Content);
}
}
此外,我建议您在 try/catch 块中调用搜索方法。
我正在尝试使用 google 搜索 api 使用此代码:
// perform search
WebQuery retreiver = new WebQuery(query);
retreiver.StartIndex.Value = 1;
retreiver.HostLangauge.Value = Languages.English;
IGoogleResultSet<GoogleWebResult> rawresults = GoogleService.Instance.Search<GoogleWebResult>(retreiver);
//declare results list
List<string> resultslist = new List<string>();
//add results to list
foreach (GoogleWebResult result in rawresults.Results)
{
resultslist.Add(result.Content);
}
用这个 api - Search AP
但我一直收到未设置对象实例的对象引用错误,您能解释一下错误的原因和方式吗?
查看 source code of GoogleService class 后,您的代码缺少一些空值检查。如果抛出异常,方法 Search<ResultType>(IGoogleQuery query)
return 一个空引用。
您可以检查内部异常,您可能会发现空引用异常背后的确切错误是什么。
// perform search
WebQuery retreiver = new WebQuery(query);
retreiver.StartIndex.Value = 1;
retreiver.HostLangauge.Value = Languages.English;
IGoogleResultSet<GoogleWebResult> rawresults = GoogleService.Instance.Search<GoogleWebResult>(retreiver);
if(rawresults!=null)
{
//declare results list
List<string> resultslist = new List<string>();
//add results to list
foreach (GoogleWebResult result in rawresults.Results)
{
resultslist.Add(result.Content);
}
}
此外,我建议您在 try/catch 块中调用搜索方法。