Abuamer Ответов: 1

Как загрузить afile в googledrive с помощью настольного приложения C#


у меня есть настольное приложение, которое я хочу использовать для загрузки файлов на свой google Диск.я создал метод для загрузки файла > Я вызываю этот метод нажатием кнопки.
но проблема в том, что код не работает.
может ли кто-нибудь помочь

Что я уже пробовал:

частная btnUpload_Click недействительным(объект отправителя, EventArgs в электронной)
{
Загрузить(@"c:\Serial.Text");// вот куда я положил файл, чтобы загрузить его
}
общественного недействительными загрузки(строка FileToUpload)
{
пробовать
{
FileInfo ToUpload = новый FileInfo(FileToUpload);
Запрос FtpWebRequest = (FtpWebRequest)WebRequest.Создать("https://drive.google.com/drive/my-drive/"+ToUpload.Name);
запрос.Method = WebRequestMethods.Ftp.UploadFile;
запрос.Учетные данные = новый NetworkCredential("имя пользователя", "пароль");
Ftpstream трансляция = запрос.Метод getrequeststream();
FileStream ft = файл.OpenRead(FileToUpload); int length = 1024;
byte[] buffer = новый байт[длина];
int byteread = 0;
делать
{
byteread = ft.Read(буфер, 0, длина);
ftpstream.Запись(буфер, 0, byteread);
}
while (byteread != 0);
футов.Рядом();
ftpstream.Закрывать();
}
ловить
{

}
}

Mohibur Rashid

Вы пробовали искать?

Abuamer

я попробовал немного поискать, но я новичок в c#, и у меня есть большая проблема с пониманием кода. так что, пожалуйста, если вы кодируете, помогите мне, я буду грациозен.

Gerry Schmitz

Почему у вас есть пустой блок улов? Ты думаешь, это весело?

Abuamer

прошу прощения за мой слабый синтаксис. я новичок в c#.пожалуйста, простите меня . но я хочу чтобы ты знал я не шучу

1 Ответов

Рейтинг:
8

Jason Gleim

Плохая новость мой друг, Google Drive не поддерживает FTP как средство загрузки файла. Они также не принимают учетные данные непосредственно в веб-запросе, как это сделали вы. Они поддерживают только OAuth-соединения. Для этого существует ряд причин, связанных с безопасностью.

Я написал статью очень давно (Работа с Google Диском в WPF[^]) , который охватывал сценарий, который вы пытаетесь сделать. Однако... С тех пор Google устарел этот API, поэтому вы не можете использовать код в этой статье, но рабочий процесс аутентификации по существу тот же самый, что поможет вам понять необходимые шаги.

В то время, когда я писал об этом, не было никакой клиентской библиотеки API .Сеть от Google. Теперь все изменилось. Вы можете скачать клиентскую библиотеку и просмотреть образец по адресу Клиентская библиотека Drive API для .NET  |  Клиентская библиотека API для .NET  |  Разработчики Google[^] Эта библиотека должна позволить вам просто отказаться от поддержки диска в вашем приложении. Он даже доступен в виде пакета NuGet непосредственно из Visual Studio: Google.API.Привод.v3 ВКЛ. NuGet.org[^]

Однако я скажу, что это может быть сложной задачей для кого-то нового в C#. Если вы ищете информацию, убедитесь, что она относится к последним API Google. Диск был вокруг в течение долгого времени, а Google изменил API-интерфейсы, по крайней мере дважды, прежде чем. (Моя статья была написана против v2 их drive API.) поскольку Google и другие веб-сайты никогда не забывают, вы можете найти много устаревшей информации.

Удачи вам!


Abuamer

очень благодарю вас так много, мой друг .я действительно грациозна