0

我正在使用我创建的包装器在我的驱动器帐户中检索与给定查询匹配的文件

files = get_files_by_query session, "title = 'Competitors' and trashed = false"

这将返回一个 Google::APIClient::Schema::Drive::V2::File 对象数组

从 rails 控制台,我可以检索数组中第一个文件的父文件。

files.first.parents.first.id

但是,当我尝试检索 isRoot

files.first.parents.first.isRoot

我收到以下错误

TypeError: Expected boolean, got NilClass.

这很奇怪,因为当我检查父项的内容时,会显示哈希值,并且 isRoot 显然是假的或真的,但绝不是零。

不确定这是否相关,但在错误之后。如果我重新尝试第一个命令

files = get_files_by_query session, "title = 'Competitors' and trashed = false"

结果以 Hash 对象数组的形式返回,而不是 Google::APIClient::Schema::Drive::V2::File 对象。

下面是上面使用的包装器。

def get_files_by_query session, query
  get_files session, {'q' => query}
end

def get_files session, parameters
  drive = session.discovered_api("drive", "v2")
  result = session.execute(api_method: drive.files.list, parameters: parameters)
  if result.status == 200
    files = result.data.items
  else
    puts "An error occurred: #{result.data['error']['message']}"
  end
end

谢谢!

4

1 回答 1

0

更多的仅供参考,因为在评论中解决了这个问题,但是导致这个问题的问题已经在客户端库中修复了一段时间。

于 2012-10-05T21:11:29.337 回答