0

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

  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 也被忽略了,因为该数组有多个条目。

4

1 回答 1

0

Google Drive 上的文件夹类似于普通文件,但具有特殊的 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
于 2013-03-26T21:48:02.673 回答