首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >消息[无效值]位置[-] Reason[invalid] Domain[global]

消息[无效值]位置[-] Reason[invalid] Domain[global]
EN

Stack Overflow用户
提问于 2015-06-20 16:13:51
回答 3查看 7.3K关注 0票数 3

几年来我一直在使用Google自定义搜索API。此代码用于Google包"Google.Apis.Customsearch.v1客户端库“(v1.9.0.460)。

这是我的c#代码:

代码语言:javascript
复制
public Search SearchNow(string query)
{
    CustomsearchService service = new CustomsearchService(
        new BaseClientService.Initializer()
        {
            ApiKey = Properties.Resources.Google_Key,
            ApplicationName = "my-app-name"
        });

    CseResource.ListRequest req = service.Cse.List(query);
    req.Cx = Properties.Resources.Google_CX;
    req.Start = 1;

    return req.Execute();
}

这段代码在我的服务器上运行了一年多,没有任何问题。从上个星期起,我开始回到这个例外:

服务自定义搜索引发了一个异常: Google.GoogleApiException: Google.Apis.Requests.RequestError无效 值400错误 [MessageInvalid值位置- Reasoninvalid ] 在Google.Apis.Requests.ClientServiceRequest`1.Execute() in c:\code\google.com\google-api-dotnet-client\default\Tools\Google.Apis.Release\bin\Debug\test\default\Src\GoogleApis\Apis\Requests\ClientServiceRequest.cs:line 96 at ###.SearchNow(String query,Int64 startResult)在###.cs:line 144 at Tests.Program.Main()在***\Tests\Program.cs:line 67中

我不知道是什么改变\为什么这个停止工作。

我是由一个小测试-发送一个"Hello“搜索查询到谷歌-这是第一次工作。我运行了这个测试agian和agian,发现这段代码在70%的时候运行良好,其他时候它失败了(上面提到的错误)。

我双重验证了这些参数: ApiKey,ApplicationName,CX。

那么,有什么问题呢?

EN

回答 3

Stack Overflow用户

发布于 2015-10-13 23:14:56

问题似乎在于:

代码语言:javascript
复制
req.Start = 1;

从我的代码中删除这个问题为我解决了问题。

票数 3
EN

Stack Overflow用户

发布于 2018-12-12 10:04:31

如果在查询CSE时,将start参数设置为大于100,则会发生此错误。结果的数量被限制在最大值。100项结果。

来自Google文档:

开始:返回的第一个结果的索引。每页的默认结果数为10,因此&start=11将从第二页结果的顶部开始。注意: JSON将永远不会返回超过100个__,即使超过100个文档与查询匹配,因此将start + num的和设置为大于100的数字将产生错误__。还请注意,num的最大值为10。

https://developers.google.com/custom-search/v1/cse/list

解决方案:始终将开始参数设置为<= 100。

票数 1
EN

Stack Overflow用户

发布于 2019-02-07 17:28:14

这可能也有帮助..。我得到了这个错误:

Google.GoogleApiException:'Google.Apis.Requests.RequestError无效资源id值.400个错误[MessageInvalid资源id值. Location - Reasoninvalid

原因是将EventID设置为长度小于5的字符串。

在课堂上修正了:

代码语言:javascript
复制
sEventID = value.PadLeft(5, '0');

Event.id参考

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30956186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档