为什么Google的自定义搜索API会说我在使用Ruby客户端时缺少访问令牌?

我正在尝试使用
Google’s Custom Search API
the Google API Ruby client.我已经通过Google API控制台设置了我的API密钥,并且还创建了我的CSE.根据文档,似乎只要我提供API密钥(我正在做),我就不需要OAuth2身份验证令牌来调用list方法.但是,当我尝试执行下面的代码时,我收到以下错误:

ArgumentError: Missing access token.

我错过了什么?这是我的代码:

# create client
client = Google::APIClient.new

# Fetch discovery doc
search = client.discovered_api('custom search')

# Call list method
response = client.execute(
  search.cse.list, 'key' => '<my API key>', 'cx' => '<my CSE id>', 'alt' => 'json', 'q' => 'hello world'
)

最佳答案 我相信这实际上是客户端的一个错误(它在alpha中).在摆弄了一点之后,我找到了一个解决方法:

在创建客户端对象之后,为其分配一个“虚拟”访问令牌:

client.authorization.access_token = '123'

然后你可以调用search.cse.list方法而不会得到’ArgumentError:Missing access token’.错误.

点赞