18

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

4

3 回答 3

29

为文档制作下载链接 - 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

如需更多信息,请点击此处


2018 年更新

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

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

所以,使用wget或者curl你可以测试,

   wget --no-check-certificate -O test.csv \
    'https://docs.google.com/spreadsheets/d/0At2sqNEgxTf3dEt5SXBTemZZM1gzQy1vLVFNRnludHc/export?gid=0&format=csv'
于 2011-07-14T15:09:51.553 回答
4

要扩展 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用于下载链接。

于 2012-10-03T09:47:54.867 回答
0

在我的应用程序中,我需要以 CSV 文件(逗号分隔值)的形式下载 Google Drive 的电子表格。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;

}

于 2017-10-21T18:34:54.767 回答