在谷歌文档电子表格上强制下载链接

时间:2011-05-19 11:47:17

标签: download spreadsheet google-docs

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

3 个答案:

答案 0 :(得分:12)

制作文件的下载链接 - 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年更新

新的下载网址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:电子表格可能包含多个工作簿, GID 是所需的工作簿ID。一个工作簿电子表格通常有gid=0,但是如果你添加更多,他们将有随机数字( GID 即使更改了tab-order也可以预先设定。)

因此,使用wgetcurl即可进行测试,

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:0)

在我的应用中,我需要在表单中下载Google云端硬盘的电子表格 CSV文件(逗号分隔值)。 Google云端硬盘的文件由长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;

}