簡體   English   中英

通過電子表格將文件上傳到 Google 共享驅動器

[英]Uploading a file to Google Shared Drive via Spreadsheet

我正在嘗試使用谷歌電子表格將文件上傳到共享驅動器上的某個文件夾。 我在網上找到了這段代碼,它實際上並沒有開始工作,但我玩過它,它仍然不會啟動上傳。

我使用的代碼來自這個網站 我修改了上傳function:

folderId = 'my folder ID'

driveId = 'my shared drive ID'
function onOpen(e){
  var ss = SpreadsheetApp.getActiveSpreadsheet()
  var menuEntries = [];
  menuEntries.push({name: "File", functionName: "doGet"});
  ss.addMenu("Attach", menuEntries);
}

//the upload script
function upload(obj) {
var metadata = {
      "parents": [{
        "id": folderId,
        "kind": "drive#parentReference"
}],
    "teamDriveId": driveId };
  var optionalParams = {
    "supportsAllDrives": true
      };
  
file = Drive.Files.insert(metadata, optionalParams);

  var activeSheet = SpreadsheetApp.getActiveSheet();
  var File_name = file.getName()
  var value = 'hyperlink("' + file.getUrl() + '";"' + File_name + '")'
  var activeSheet = SpreadsheetApp.getActiveSheet();
  var selection = activeSheet.getSelection();
  var cell = selection.getCurrentCell()
  cell.setFormula(value)
  return {
    fileId: file.getId(),
    mimeType: file.getMimeType(),
    fileName: file.getName(),
  };
}

我認為 obj 可能是指您上傳的文件類型,您可以查看本文檔https://developers.google.com/drive/api/v3/manage-uploads#multipart中的正確代碼

只要確保 select “Java”。

這是該 KB 中的示例:

File fileMetadata = new File();
fileMetadata.setName("photo.jpg");
java.io.File filePath = new java.io.File("files/photo.jpg");
FileContent mediaContent = new FileContent("image/jpeg", filePath);
File file = driveService.files().create(fileMetadata, mediaContent)
    .setFields("id")
    .execute();
System.out.println("File ID: " + file.getId());

暫無
暫無

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

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