Я извлекаю файлы, соответствующие заданному запросу в моей учетной записи диска, с помощью созданной мной оболочки
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
Спасибо!