Как загрузить файлы в папку Google Диска с полным доступом для чтения/записи

Я создал тестовую папку на своем Google Диске. Я хочу загружать файлы в эту папку, используя жестко заданный URL-адрес Google Диска. Любой может получить доступ к этой папке, и любой может добавлять и удалять файлы, потому что я предоставил полный доступ к этой папке. Но система выдает ошибку «удаленный сервер вернул ошибку (400) неверный запрос» на запрос UploadFile. Ниже мой код. Пожалуйста, помогите решить проблему. Спасибо

private void Upload(string fileName){var client = new WebClient();

              var uri = new Uri("https://drive.google.com/drive/folders/1yPkWZf03yhihjkejQYrhuS_SMxh9j8AP?usp=sharing");

        try
        {
            client.Encoding = Encoding.UTF8;
            client.UploadFile(uri, fileName);

            //client.Headers.Add("fileName", Path.GetFileName(fileName));
            //var data = File.ReadAllBytes(fileName);
            //client.UploadDataAsync(uri, data);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }

1 ответ

Это никогда не сработает. UploadDataAsync C# WebClient выполняет стандартный HTTP POST для указанного Uri. Ваш Uri не из тех, которые принимают HTTP POST. Вместо этого он показывает веб-приложение Google Диска и позволяет пользователю управлять файлами в папке, будь то добавление файлов или удаление файлов.

Чтобы добавить файлы в папку Google Диска программно, используйте API Google Диска. См.: https://developers.google.com/drive/api/guides/folder В руководстве показано, как создать папку и загрузить файлы в указанную папку.

В этом руководстве: https://developers.google.com/workspace/guides/get-started показано, как начать работу, если вы никогда не использовали API Google.

Другие вопросы по тегам