谷歌自定义搜索API的OAuth2范围

11

我已经创建了一个CSE并需要通过程序更新促销内容。这是在后端系统中完成的,因此身份验证过程中的用户交互不是选项。

可以通过他们的自定义搜索API通过HTTP更新促销活动。该过程需要身份验证令牌。

他们的文档说Custom Search只支持“ClientLogin”身份验证。这已被Google废弃,并且还涉及CAPTCHA,因此这不是一个选项。他们还指出现在所有身份验证都应该通过OAuth2完成。

我已经没有用户交互地使用Google Analytics API实现了OAuth2。

我的问题是:我找不到可用于OAuth2的Custom Search API范围值。有什么想法吗?


有相同的问题 - 有人找到解决方法了吗? - user369142
我也遇到了同样的问题。具有讽刺意味的是,Google似乎不支持在GAE上使用某些Google API... - orcaman
7个回答

3

是的,如果您在Google App Engine上托管服务器应用程序,则API密钥选项无效,因为在创建API密钥时必须提供IP白名单,并且GAE的IP会不断更改(这就是为什么您必须使用OAuth2与应用程序身份API以便在GAE上使用Google API)。 - orcaman
1
所涉及的API是编程创建自定义搜索引擎的API,而不是自定义搜索JSON/Atom API。后者是可用的。 - pcormier

3
对于任何遇到这个问题的人,可以使用oAuth2来自定义搜索谷歌。请记住,在添加范围后,您将需要重新获取令牌。
Google自定义搜索的作用域如下:
https://www.googleapis.com/auth/cse

2
尽管https://www.googleapis.com/auth/cse是一个有效的API范围,但不幸的是它没有列出任何与令牌返回相关的API操作。
随着截止日期4月20日的临近,这也是他们停止支持CLientLogin的日子,我希望能有一个可行的解决方案。

我们现在是2015年6月。发生了什么事情吗? - nwaltham
2016年5月...仍未找到解决方案。 - pcormier

1

有更新吗?我也想通过OAuth2实现自定义搜索,但在Google开发者文档中没有头绪... 我猜我们无法做到。

我使用的PHP库返回一个无效的范围:

Some requested scopes were invalid. {invalid=[https://www.googleapis.com/auth/customsearch]}

1
有人确定如何使用OAuth 2.0通过API添加、编辑或删除CSE促销吗?这在ClientLogin下很容易实现,而Google文档仍然建议使用它。
在我们的账户上添加了CSE的范围后,结果显示“返回有关执行搜索的元数据、用于搜索的自定义搜索引擎的元数据以及搜索结果。”没有提到能够处理促销。
-Ken

1
如果你查看Google OAuth Playground,你会发现Custom Search不是可用范围之一。不幸的是,你只能访问那里列出的服务(以及它们的各种范围)。

1

我曾经遇到了与CSE推广完全相同的问题,所以我联系了Google支持团队并得到了以下回复:

"您好,

来自Google工作支持团队的问候!

根据您的信息,我了解到您正在尝试以编程方式使用GSS功能。我想告诉您的是,GSS仅支持客户端登录身份验证以编程方式访问搜索引擎及其功能,但客户端登录已过时并不再与GSS一起使用。

目前,Oauth 2.0也不支持GSS。

我们已经有一个特性请求#6043481,以提供对GSS的Oauth 2.0支持。但是,我不知道何时会实现它。

由于这个原因,目前无法通过编程方式添加推广。我建议您手动在浏览器中打开GSS控制面板,并从GSS控制面板 ->搜索功能 ->推广 ->按照您的要求添加更新推广。

请检查您的端口,并让我知道您是否需要进一步的帮助。"

简而言之,我们被卡住了。


目前似乎没有使用Google CSE API的方法? - jrochkind

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接