1

我的要求是在 google.com 中获取搜索查询的前 20 个链接。我正在使用Google-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'
)

现在我面临三个问题,

  1. 我想使用默认的 Google 搜索,那么“cx”值应该是多少?我使用的一个来自https://developers.google.com/custom-search/v1/using_rest#cx
  2. 我没有得到任何结果,而是收到以下警告“ArgumentError:缺少访问令牌”。我通过定义 "client.authorization.access_token = '123'" 使用虚拟令牌解决了这个问题。但我不确定这是否是一个正确的解决方案。
  3. 在我定义 access_token 之后,我仍然没有得到任何结果。而是收到警告“无效的凭据”。但是如果我使用相同的 URL(由 api 生成),在浏览器中我会得到结果。
4

1 回答 1

9

无需设置虚拟访问令牌,只需将授权机制设置为 nil:

client.authorization = nil

这样它就不会发送授权标头,而只会依赖 API 密钥来识别您的应用程序。

于 2012-05-30T23:47:13.793 回答