Загрузка общих файлов с общего диска Google

#c# #.net

#c# #.net

Вопрос:

Я создаю бесплатное приложение для Windows, в котором я хочу загрузить некоторые файлы MP3 из общей папки Google Drive, на случай, если пользователь решит не загружать эти файлы с приложением (возможно, из-за соображений размера). Я могу сделать это, используя ссылки для загрузки файлов. Но есть сотни файлов, что означает, что я должен знать сотни ссылок для скачивания.

Есть ли более простой способ просто выбрать файл для загрузки из этой общей папки, используя имя файла вместо его ссылки? Я знаю имена всех этих файлов.

Ниже приведен пример рабочего кода для загрузки и сохранения одного такого файла…

 using System.Net;   

public static bool OnDemand(string pFile)
{
    string LsShare = "https://drive.google.com/uc?export=downloadamp;id=1iQt6Qk8bFSoCQIlfk3xGkwlEgU87lLqT";

    try
    {
        using (WebClient wc = new WebClient())
        {
            wc.DownloadFile(LsShare, pFile);
        }
    }
    catch (Exception ex)
    {
        return false;
    }

    return true;
}
  

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

1. Нет, если вы не используете Drive API , насколько я знаю. И для этого потребуется, чтобы ваше приложение вошло в систему, а не просто использовало общедоступные ссылки. Но имеет ли какое-либо значение, знает ли ваше приложение список имен файлов или список ссылок для скачивания? Компьютеру все равно. В любом случае вам нужно каким-то образом предоставить приложению этот список, чтобы оно могло загрузить текущий список файлов.

2. PS Я не знаю, платите ли вы за свою учетную запись диска или что-то еще, но, безусловно, в бесплатной версии это помешает вам загружать слишком много данных за короткий промежуток времени, чтобы люди не злоупотребляли тем, что должно быть личным средством, скажем, внутренним файломобласть хранения для их применения! Я предполагаю, что Google предпочел бы, чтобы вы использовали для этого одну из своих коммерческих служб хранения.

3. Разве API-интерфейсы Google Drive не ограничивают загрузку только Google. Предположим, я также хочу загрузить, скажем, из OneDrive или DropBox, как только я получу рабочее решение для этого. Знание имен означает, что в моем приложении уже есть список файлов (номера дорожек, используемые в качестве имен файлов). И я загружу только несколько МБ по требованию, но из большого количества сохраненных дорожек.

4. Ну, я думал, что вы просто используете API, чтобы получить список ссылок для скачивания, которые вы затем передаете в код, который фактически выполняет загрузку. Итак, если вы разработали свой код таким образом, чтобы он мог обрабатывать различные источники информации о том, какие ссылки являются актуальными, тогда он может использовать Drive, Dropbox и любой другой сервис, который вы решите упомянуть.

5. Я предполагаю, что вы хотите, чтобы приложение могло выходить в Интернет и получать последний список ссылок при каждом запуске, а не жестко кодировать их? В противном случае пользователям пришлось бы загружать новую копию вашего приложения каждый раз, когда вы добавляли файл в хранилище. В то время как, если вы просто жестко запрограммируете места, куда приложение может перейти, чтобы получить текущий список файлов, остальная часть может обрабатываться динамически.