Files
DiunaBI/WebAPI/GoogleDriveHelper.cs
2023-01-08 18:19:49 +01:00

40 lines
1.2 KiB
C#

using Google.Apis.Auth.OAuth2;
using Google.Apis.Drive.v3;
using Google.Apis.Services;
namespace WebAPI
{
public class GoogleDriveHelper
{
public DriveService Service { get; set; }
const string APPLICATION_NAME = "Diuna";
static readonly string[] Scopes = { DriveService.Scope.Drive };
public GoogleDriveHelper()
{
InitializeService();
}
private void InitializeService()
{
var credential = GetCredentialsFromFile();
Service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = APPLICATION_NAME
});
}
private GoogleCredential GetCredentialsFromFile()
{
string fileName = "client_secrets.json";
#if DEBUG
fileName = "client_secrets.Development.json";
#endif
GoogleCredential credential;
using (var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read))
{
credential = GoogleCredential.FromStream(stream).CreateScoped(Scopes);
}
return credential;
}
}
}