如何使用谷歌驱动红宝石宝石谷歌上传doc文件或驱动器文件中的驱动器文件夹?

问题描述 投票:-2回答:1

在我的应用程序,我想使用谷歌驱动红宝石宝石谷歌上传doc文件或谷歌驱动文件在我的硬盘文件夹。我见过这样upload_from_file(路径)的功能,但它时,我使用本地文件,但不是我想使用谷歌文档文件或驱动器文件的工作。有人帮我好吗?

ruby-on-rails
1个回答
0
投票
#When I post my form
def create
  folder_url = "https://drive.google.com/drive/folders/"
  spreadsheet_path = "https://docs.google.com/XXX"

  #Connect to the Drive API with credentials json file
  session = GoogleDrive::Session.from_config("#{ENV['CONFIG_PATH']}/config.json")

  test_dev = session.collection_by_url("#{folder_url}XXX")

  folder = test_dev.create_subcollection(params[:title])

  #Get match between doc title and spreadsheet data
  worksheets = retrieve_spreadsheet_datas(session, spreadsheet_path).drop(1)
  worksheets.each do |row|
    name = row[1] + " " + row[2]
    if name == params[:title]
      #row[3] and row[4] contain link like "https://drive.google.com/open?id=XXX"
      if row[3] != nil
        create_folder(session, folder.web_view_link, 1, row[3])
      end
      if row[4] != nil
        create_folder(session, folder.web_view_link, 2, row[4])
      end
    end
  end

  redirect_to("/drive/index")
end

def retrieve_spreadsheet_datas(session, spreadsheet_path)
  spreadsheet = session.spreadsheet_by_url(spreadsheet_path)
  worksheet = spreadsheet.worksheets.first
  worksheet.rows
end

def create_folder(session, url, i, file)
  collection = session.collection_by_url(url) #Open collection
  col_folder = collection.create_subcollection("R#{i}") #Create subcollection in it
  col_folder_content = session.collection_by_url(col_folder.web_view_link)  #Open the new collection

  #And here I want to upload "file (row[3] and row[4])" in "col_folder_content"
end

XXX代表的关键。谢谢 :)

© www.soinside.com 2019 - 2024. All rights reserved.