Как загрузить файлы в папку 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.