如何检查谷歌硬盘中是否存在文件夹? (红宝石客户)

时间:2013-03-26 19:02:46

标签: google-drive-api

似乎我只能返回文件夹的内容,但没有关于文件夹本身的信息。

  results = client.execute({
    :api_method => drive.files.list,
    :q => "mimeType='application/vnd.google-apps.folder' AND trashed=false AND title='#{app_folder_name}'",
    :maxResults => 1
  })

返回的results.to_hash [“items”]数组中填充了文件夹的内容(包括子文件夹和文件)。我怎样才能获得有关文件夹本身的信息?我想做的就是检查它是否存在。并且似乎maxResults被忽略,因为数组有多个条目。

1 个答案:

答案 0 :(得分:0)

Google云端硬盘上的文件夹类似于常规文件,但具有特殊的MIME类型(“application / vnd.google-apps.folder”)。获得文件夹的ID后,您可以使用files.get请求访问其元数据:

##
# Print a file's metadata.
#
# @param [Google::APIClient] client
#   Authorized client instance
# @param [String] file_id
#   ID of file to print
# @return nil
def print_file(client, file_id)
  drive = client.discovered_api('drive', 'v2')
  result = client.execute(
    :api_method => @drive.files.get,
    :parameters => { 'fileId' => file_id })
  if result.status == 200
    file = result.data
    puts "Title: #{file.title}"
    puts "Description: #{file.description}"
    puts "MIME type: #{file.mime_type}"
  else
    puts "An error occurred: #{result.data['error']['message']}"
  end
end