【问题标题】:Force download link on a google docs spreadsheet在谷歌文档电子表格上强制下载链接
【发布时间】:2011-08-28 19:49:12
【问题描述】:

有没有办法强制下载链接而不是浏览器尝试打开文件?在这种情况下,我有一个文档电子表格和一些指向 mp3 文件的链接。我希望用户下载这些文件而不是浏览器播放它。 mp3 托管在另一个站点上。 谢谢,博

【问题讨论】:

    标签: google-sheets google-sheets-export-url


    【解决方案1】:

    制作文档的下载链接 - https://docs.google.com/feeds/download/documents/Export?docID=yourDocId

    为任何文件创建下载链接 - https://docs.google.com/uc?id=yourDocId&export=download&hl=en_US

    要制作电子表格的下载链接 - https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=yourDocId&exportFormat=csv

    欲了解更多信息,请转至here


    2018 年更新

    新的下载 URL
    https://docs.google.com/spreadsheets/d/<KEY>/export?gid=<GID>&format=csv
    <KEY><GID> 可以从您的导航 URL 获得,
    https://docs.google.com/spreadsheets/d/<KEY>/edit#gid=<GID>

    PS:电子表格(workbook)可能有多个工作表(worksheets),GID是想要的工作表ID。单页电子表格通常有gid=0,但如果你添加更多,它们将有随机数(GID 即使更改制表顺序也会保留)。

    所以,你可以使用wgetcurl 进行测试,

       wget --no-check-certificate -O test.csv \
        'https://docs.google.com/spreadsheets/d/0At2sqNEgxTf3dEt5SXBTemZZM1gzQy1vLVFNRnludHc/export?gid=0&format=csv'
    

    【讨论】:

    【解决方案2】:

    要扩展 Mokarom 的答案(因为我无法发表评论),您需要将那些链接中显示“yourDocId”的部分替换为您尝试下载的页面的文档 ID。这是 url 的 key= 部分。

    例如,如果您在https://docs.google.com/spreadsheet/ccc?key=0AhjOs40Xk1-4dGg0MjMVYURPMFRpeUFhbmZBTkZ0dEE#gid=8 有一个电子表格,那么您将转到https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=0AhjOs40Xk1-4dGg0MjMVYURPMFRpeUFhbmZBTkZ0dEE&exportFormat=csv 以获取下载链接。

    【讨论】:

      【解决方案3】:

      在我的应用程序中,我需要以表格形式下载 Google Drive 的电子表格 CSV 文件(逗号分隔值)。 Google Drive 的文件由长 ID 引用,例如:

      1uFwmwD5UFLdD1DMPGT5p4fIGozfImx44DNCOeMJr1Lo

      这是一个可以执行此操作的代码块。如果出现错误,该方法将返回零长度字符串。

      - (NSString *) downloadGoogleSheetGivenFileID: (NSString *) ID {
      // This will download a Google spreadsheet given it's file ID
      // and convert it to a CSV file.
      NSString    *   preFix;
      NSURL       *   myURL;
      NSString    *   opCmd;
      NSString    *   t;
      NSString    *   theStuff;
      NSError     *   error = nil;
      
      theStuff = @"";
      // The URL has to be: prefix+ID+opCmd  The only thing that changes is the file's ID
      preFix = @"https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=";
      opCmd = @"&exportFormat=csv";
      t = preFix;
      t = [t stringByAppendingString:ID];
      t = [t stringByAppendingString:opCmd];
      myURL = [NSURL URLWithString:t];
      theStuff = [NSString stringWithContentsOfURL:myURL encoding: NSUTF8StringEncoding error:&error];
      if(error != nil)
      {
          // There was an error downloading the spread sheet file.
          // We will return a zero length string.
          NSLog(@"%@",error);
      }
      return theStuff;
      

      }

      【讨论】:

      • 添加标签,让相关人员知道您的问题。
      猜你喜欢
      • 2016-01-25
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 2018-03-12
      • 2014-07-01
      • 2011-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多