【问题标题】:Using Google Script to Input Google Drive Files' URLs into Google Sheets使用 Google 脚本将 Google Drive 文件的 URL 输入到 Google 表格中
【发布时间】:2019-11-15 12:59:26
【问题描述】:

抱歉,我想我应该先说我不是开发人员,也没有任何开发知识。我真的希望你能帮我解决这个问题。

场景:

  • 我的云端硬盘中有一个包含多个 PDF 的文件夹

  • 我有一个包含 2 列的 Google 工作表,第一列是“名称”,第二列是“文档”。第一列填了几个名字,第二列完全是空的

我想做什么:

  • 将 PDF 的 URL/链接导入到名称对应的“文档”列中。所以 John 的 PDF 文档应该和 John 的名字在同一行

【问题讨论】:

    标签: google-apps-script google-sheets google-api google-drive-api postman


    【解决方案1】:

    转到script.google.com 粘贴此代码并运行它:

    function main () {
      files = DriveApp.getFilesByType("application/pdf");
      var names = [];
      var links = [];
    
      while (files.hasNext()) {
        var file = files.next();
        names.push([file.getName()]);
        links.push([file.getUrl()]);
    }
      var newSpreadsheet = SpreadsheetApp.create("My favourite pdf");
      Logger.log(newSpreadsheet.getUrl());
      var newSheet = newSpreadsheet.getSheets()[0];
      newSheet.getRange("A1:A"+names.length).setValues(names);
      newSheet.getRange("B1:B"+names.length).setValues(links);
    }
    

    然后,在顶部菜单上,按查看并检查日志。你会找到你的文档的 url,你也可以在Google Spreadsheets找到它

    这里介绍了如何开始使用 Apps 脚本: Tutorials: Google Apps Script

    希望它对你有用, 祝你好运!

    【讨论】:

    • 抱歉回复晚了,刚好有机会上网。也非常感谢你的帮助,我先试试看。
    • 嗨 Yuri,上面的脚本是用于提取我的驱动器(甚至共享驱动器并与我共享)中的所有 PDF 文件吗?有没有办法只定位“我的云端硬盘”中的一个文件夹?
    • 总是出现这个错误“数据中的行数与范围内的行数不匹配。数据有1但范围有9870。” link@yuri
    【解决方案2】:

    朋友帮我弄明白了:

    function myFunction() {
       var spreadsheet = SpreadsheetApp.openById('12XnwRmBL7ssKBjuku7lJgHKgUqmIijZatFJVamud__M')
       var nameSheet = spreadsheet.getSheetByName("Sheet1");
       var nameSheetData = []
       var pdfFolder = DriveApp.getFolderById("10mZsJX4LQnw5U4sMQ8gXwKVyl3Ua1dlW");
       var folderIndex = pdfFolder.searchFiles("title contains 'pdf'");
       Logger.log(folderIndex)
       nameSheet.appendRow(['Name', 'Bank Book Photo']);
       while ( folderIndex.hasNext() )
       {
           var file = folderIndex.next();
           var url = file.getUrl();
           var name = file.getName();
           nameSheet.appendRow([name, url]);
       }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-10
      • 2015-07-04
      • 2019-11-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多