1

Я хочу создать веб-приложение asp.net/c#, где пользователи моего приложения могут загружать файлы. Файлы будут храниться в общем диске Google. Я знаю идентификатор входа и пароль этого диска (на самом деле это мой диск).Аутентификация пользователя Google по коду вместо «экрана согласия» ASP.net/C#

Процесс аутентификации будет выполнен в фоновом режиме. Пользователи не знают, где хранятся файлы, и им не нужны никакие разрешения для диска Google, поэтому не нужно экрана разрешения.

Возможно ли по Google-drive-sdk? Или любое предложение, как я могу разработать приложение?

Спасибо!

ответ

0

Вы можете использовать учетную запись службы, как описано @DaImTo

Вы также можете использовать свой собственный счет (говорит ваш вопрос «на самом деле это мой диск»), как описано здесь How do I authorise an app (web or installed) without user intervention? (canonical ?)

+0

спасибо за ответ. как я могу получить UserCredential для получения службы диска с использованием токена обновления в C#? любой пример или ссылку .. – hasnayn

+0

жаль, что я не использую библиотеки C#. Я уверен, что будет форма конструктора, которая позволит вам обернуть существующий токен. Библиотеке все равно, как был создан токен обновления, поскольку он обычно хранится в базе данных для последующего извлечения. Затем вы будете использовать токен обновления, чтобы создать токен доступа. Я думаю, что UserCredential в основном является оберткой для токена доступа – pinoyyid

0

Что вы говорите, называется Service account. Подумайте о учетной записи службы как пользователя, у вас нет входа и пароля, но у нее есть учетная запись диска. Вы также не можете войти в него, используя версию веб-сайта. Все должно пройти через API.

string[] scopes = 
      new string[] { DriveService.Scope.Drive, 
         DriveService.Scope.DriveFile};  

string keyFilePath = @"c:\file.p12" ; // found in developer console 
string serviceAccountEmail = "[email protected]"; // found in developer console 
//loading the Key file 
var certificate = new X509Certificate2(keyFilePath, "notasecret", X509KeyStorageFlags.Exportable); 
ServiceAccountCredential credential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(serviceAccountEmail) 
                    { 
                    Scopes = scopes  
                  }.FromCertificate(certificate)); 

Создание службы:

DriveService service = new DriveService(new BaseClientService.Initializer() 
{ 
HttpClientInitializer = credential, 
ApplicationName = "Drive API Sample", 
}); 

Все запросы будут затем запустить хотя service. У меня есть учебник, который пойдет вам на это, и есть пример проекта на GitHub, чтобы согласиться с ним. Google Drive API with C# Примечание: в руководстве используется oauth2, используя вышеуказанный код аутентификации для аутентификации с учетной записью службы.

 Смежные вопросы

  • Нет связанных вопросов^_^