家长的Google Drive isRoot属性返回Nil

时间:2012-07-20 00:02:12

标签: ruby google-drive-api

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

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显然是false或true,但绝不是nil。

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

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

谢谢!

1 个答案:

答案 0 :(得分:0)

更多的FYI,因为评论中已经解决了这个问题,但导致此问题的已发布已在客户端库中修复了一段时间。