Принудительно загрузить ссылку в электронную таблицу Google docs

#google-sheets #google-sheets-export-url

#google-sheets #google-sheets-export-url

Вопрос:

Есть ли способ принудительно загрузить ссылку вместо того, чтобы браузер пытался открыть файл? В этом случае у меня есть электронная таблица docs и несколько ссылок на файлы mp3. Я хочу, чтобы пользователи загружали эти файлы вместо того, чтобы браузер воспроизводил их. MP3-файлы размещены на другом сайте. Спасибо, Бо

Комментарии:

1. Мне нравится, насколько сложно они это делают. Думаю, я просто использую другую платформу вместо этого.

Ответ №1:

Чтобы создать ссылки для загрузки документов — https://docs.google.com/feeds/download/documents/Export?docID=yourDocId

Чтобы создать ссылки для загрузки любого файла — https://docs.google.com/uc?id=yourDocIdamp;export=downloadamp;hl=en_US

Чтобы создать ссылки для загрузки электронных таблиц — https://spreadsheets.google.com/feeds/download/spreadsheets/Export?key=yourDocIdamp;exportFormat=csv

Для получения дополнительной информации, пожалуйста, перейдите сюда


ОБНОВЛЕНИЕ В 2018 году

Новый URL для загрузки является
  https://docs.google.com/spreadsheets/d/<KEY>/export?gid=<GID>amp;format=csv
где <KEY> и <GID> можно получить по URL-адресу вашей навигации,
  https://docs.google.com/spreadsheets/d/<KEY>/edit#gid=<GID>

PS: электронные таблицы (workbook) могут содержать несколько листов (worksheets), GID — это желаемый идентификатор листа. Обычно в электронной таблице на одном листе есть gid=0 , но если вы добавите больше, они будут содержать случайные числа (GID сохраняется даже при изменении порядка табуляции).

Итак, используя wget или curl , вы можете протестировать,

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

Комментарии:

1. Эта ссылка для «ссылки для загрузки любого файла» не работает. Обновление?

2. Как бы эти ссылки выглядели сейчас?

3. Это также работает, если вы опускаете параметр gid, например <a rel="nofollow noreferrer noopener" href="https://docs.google.com/spreadsheets/d//export?format=xlsx» rel=»nofollow noreferrer»> docs.google.com/spreadsheets/d /<КЛЮЧ>/экспорт?формат=xlsx

4. @Kelvin Сейчас это не работает, есть какие-нибудь обновления?

Ответ №2:

Чтобы расширить ответ Мокарома (потому что я не могу комментировать), вам нужно заменить часть этих ссылок, в которых указано «yourDocId», идентификатором документа страницы, которую вы пытаетесь загрузить. Это ключ = часть URL.

Например, если у вас была электронная таблица в https://docs.google.com/spreadsheet/ccc ?key=0AhjOs40Xk1-4dGg0MjMVYURPMFRpeUFhbmZBTkZ0dEE#gid=8, тогда вы перейдете к https://spreadsheets.google.com/feeds/download/spreadsheets/Export ?key=0AhjOs40Xk1-4dGg0MjMVYURPMFRpeUFhbmZBTkZ0dEEamp;exportFormat=csv для ссылки на скачивание.

Ответ №3:

В моем приложении мне нужно было загрузить таблицу с Google Диска в виде файла CSV (значения, разделенные запятыми). Ссылки на файлы Google Drive имеют длинные идентификаторы, такие как:

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 = @"amp;exportFormat=csv";
t = preFix;
t = [t stringByAppendingString:ID];
t = [t stringByAppendingString:opCmd];
myURL = [NSURL URLWithString:t];
theStuff = [NSString stringWithContentsOfURL:myURL encoding: NSUTF8StringEncoding error:amp;error];
if(error != nil)
{
    // There was an error downloading the spread sheet file.
    // We will return a zero length string.
    NSLog(@"%@",error);
}
return theStuff;
  

}

Комментарии:

1. Добавьте теги, чтобы заинтересованные люди знали о вашем вопросе.