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 ドライブのフォルダは通常のファイルに似ていますが、特別な 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 に答える