簡體   English   中英

如何使用 google drive ruby​​ gem 在驅動器文件夾中上傳 google doc 文件或驅動器文件?

[英]How to upload google doc file or drive file in drive folder with google drive ruby gem?

在我的應用程序中,我想使用 google drive ruby​​ gem 在我的驅動器文件夾中上傳 google doc 文件或 google drive 文件。 我看到了像 upload_from_file(path) 這樣的函數,但它在我使用本地文件時有效,但在我想使用 google doc 文件或驅動器文件時無效。 有人幫我好嗎?

#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 代表一個鍵。 謝謝 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM