我的要求是获取 google.com 搜索查询的前 20 个链接。我正在使用谷歌 api-client!对于红宝石。
这是我使用的代码,
require 'google/api_client'
client = Google::APIClient.new
response = client.execute(
search.cse.list, 'key' => '<My Key>', 'cx' => '013036536707430787589%3A_pqjad5hr1a', 'alt' => 'json', 'q' => 'hello world'
)
现在我面临三个问题,
- 我想使用默认的谷歌搜索,那么"cx"值应该是多少?我使用的一个来自 https://developers.google.com/custom-search/v1/using_rest#cx
- 我没有得到任何结果,而是收到以下警告"参数错误:缺少访问令牌"。我使用虚拟令牌解决了这个问题,通过定义"client.authorization.access_token = '123'"。但我不确定这是否是正确的解决方案。
- 定义access_token后,我仍然没有得到任何结果。而是收到警告"凭据无效"。但是如果我使用相同的URL(由api生成),则在浏览器中我会得到结果。
无需设置虚拟访问令牌,只需将授权机制设置为 nil:
client.authorization = nil
这样,它就不会发送授权标头,而只会依赖 API 密钥来识别您的应用。