public ServiceAccountCredential BuildCredential(GoogleServiceParameter parameters)
        {
            var credential = new X509Certificate2(parameters.AccountFilePath, "notasecret", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
            var serviceAccountCredential = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(parameters.AccountEmail)
            {
                Scopes = parameters.ApiScopes,
                User   = string.IsNullOrEmpty(parameters.UserToImpersonate) ? parameters.AccountAdminUser : parameters.UserToImpersonate
            }.FromCertificate(credential));

            return(serviceAccountCredential);
        }
        public ServiceAccountCredential BuildCredential(GoogleServiceParameter parameters)
        {
            ServiceAccountCredential credential;
            var credentialParameters = NewtonsoftJsonSerializer.Instance.Deserialize <JsonCredentialParameters>(File.ReadAllText(parameters.AccountFilePath));

            using (var stream = new FileStream(parameters.AccountFilePath, FileMode.Open, FileAccess.Read))
            {
                credential = ServiceAccountCredential.FromServiceAccountData(stream);
            }
            var credentialforuser = new ServiceAccountCredential(new ServiceAccountCredential.Initializer(parameters.AccountEmail)
            {
                Scopes = parameters.ApiScopes,
                User   = string.IsNullOrEmpty(parameters.UserToImpersonate) ? parameters.AccountAdminUser : parameters.UserToImpersonate,
                Key    = credential.Key
            }.FromPrivateKey(credentialParameters.PrivateKey));

            return(credentialforuser);
        }
Exemplo n.º 3
0
 public ServiceAccountCredential BuildCredential(GoogleServiceParameter parameters)
 {
     return(new ServiceAccountCredential(null));
 }