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

标签 ruby google-api google-api-client

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

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 阶段)。在稍微摆弄它之后,我找到了一个解决方法:

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

client.authorization.access_token = '123'

然后您可以调用 search.cse.list 方法而不会收到“ArgumentError:缺少访问 token ”。错误。

关于ruby - 为什么 Google 的自定义搜索 API 说我在使用 Ruby 客户端时缺少访问 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8013648/

相关文章:

ruby - 视口(viewport)未在 Ubuntu Server VM 中连接

ruby - 带 block 的 ENV.fetch 或带第二个参数的区别是什么?

ruby - `Dir.entries` 中的排序顺序

javascript - Google Maps API 风格的 map - 颜色问题

google-api - 帐户升级为付费后无法增加 API 配额

ruby-on-rails - 比较两次而不考虑相关日期 - Ruby

java - Google Drive API 给予上传文件的权限不足

python - 警告 :oauth2client. util:build() 最多接受 2 个位置参数(给定 3 个)

android - 注销 Google 帐户时出现 NullPointer 异常

python - 使用 googleapiclient 通过 Id 发送电子邮件草稿