Среди различных функций я хочу включить Google Drive с моим приложением C#, чтобы пользователи могли входить в систему и получать доступ к файлам своего диска. Я исследовал много кода в этой сети и из других источников, и я имел успех следующий:C# с встроенным Google Диском
UserCredential credential;
using (var stream =
new FileStream("client_id.json", FileMode.Open, FileAccess.Read))
{
string credPath = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.Personal);
credPath = Path.Combine(credPath, ".credentials/drive-dotnet-quickstart.json");
credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
GoogleClientSecrets.Load(stream).Secrets,
Scopes,
"user",
CancellationToken.None,
new FileDataStore(credPath, true)).Result;
Console.WriteLine("Credential file saved to: " + credPath);
}
// Create Drive API service.
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = ApplicationName,
});
// Define parameters of request.
FilesResource.ListRequest listRequest = service.Files.List();
//listRequest.PageSize = 10;
listRequest.Fields = "nextPageToken, files(id, name)";
// List files.
IList<Google.Apis.Drive.v3.Data.File> files = listRequest.Execute().Files;
Console.WriteLine("Files:");
if (files != null && files.Count > 0)
{
foreach (var file in files)
{
Console.WriteLine("{0} ({1})", file.Name, file.Id);
}
}
else
{
Console.WriteLine("No files found.");
}
Console.Read();
я должен был получить свои полномочия на паутине Google Drive для разработчиков. Этот код работает хорошо, но это означает, что каждый пользователь моего приложения должен будет вручную создать учетные данные Google Диска, и я не могу понять, как его автоматизировать.
Моя цель - предоставить интерфейс для пользователя, который показывает два окна ввода данных своего электронного письма и пароля Google, а затем выполняет работу по проверке подлинности, и если это удастся, пользователь получит доступ к своим файлам.
Пожалуйста, проверьте это [URL] (http://stackoverflow.com/help), будет полезно поставить качество вашего контента –