我创建了这个代码,使用这个参考https://developers.google.com/drive/api/quickstart/ruby
class Drive
def initialize
@drive_service = Google::Apis::DriveV3::DriveService.new
@drive_service.client_options.application_name = APPLICATION_NAME
@drive_service.authorization = authorize
end
def create_file
data = { 'name': "My new Sheet #{Time.now.strftime('%d/%m/%Y %H:%M')}",
'mimeType': 'application/vnd.google-apps.spreadsheet' }
@drive_service.create_file(data).execute
end
def share_file
"to be filled"
end
def list_files
response = @drive_service.list_files(page_size: 10, fields: 'nextPageToken, files(id, name)')
puts 'Files:'
puts 'No files found' if response.files.empty?
response.files.each do |file|
puts "#{file.name} (#{file.id})"
end
end
end
方法list_files
运行良好,但create_file
返回以下错误:
Traceback (most recent call last):
2: from quickstart.rb:79:in `<main>'
1: from quickstart.rb:60:in `create_file'
/home/vagrant/.rvm/gems/ruby-2.7.2/gems/google-api-client-0.53.0/generated/google/apis/drive_v3/service.rb:895:in `create_file': unknown keywords: :name, :mimeType (ArgumentError)
我是基于这个create方法创建的参考:https://googleapis.dev/ruby/google-api-client/latest/Google/Apis/DriveV3/DriveService.html#create_file-instance_method
我试着把创作改成:@drive_service.create_file(file_object = data).execute