private GoogleCredential CreateServiceCredentials()
 {
     var parameters = new JsonCredentialParameters
     {
         Type = JsonCredentialParameters.ServiceAccountCredentialType,
         ClientEmail = "*****@*****.**",
         PrivateKey = s_samplePrivateKey
     };
     string json = JsonConvert.SerializeObject(parameters);
     var stream = new MemoryStream(Encoding.UTF8.GetBytes(json));
     return GoogleCredential.FromStream(stream);
 }
        /// <summary>Creates a user credential from JSON data.</summary>
        private static UserCredential CreateUserCredentialFromParameters(JsonCredentialParameters credentialParameters)
        {
            if (credentialParameters.Type != JsonCredentialParameters.AuthorizedUserCredentialType ||
                string.IsNullOrEmpty(credentialParameters.ClientId) ||
                string.IsNullOrEmpty(credentialParameters.ClientSecret))
            {
                throw new InvalidOperationException("JSON data does not represent a valid user credential.");
            }

            var token = new TokenResponse
            {
                RefreshToken = credentialParameters.RefreshToken
            };

            var initializer = new GoogleAuthorizationCodeFlow.Initializer
            {
                ClientSecrets = new ClientSecrets
                {
                    ClientId     = credentialParameters.ClientId,
                    ClientSecret = credentialParameters.ClientSecret
                },
                ProjectId = credentialParameters.ProjectId
            };
            var flow = new GoogleAuthorizationCodeFlow(initializer);

            return(new UserCredential(flow, "ApplicationDefaultCredentials", token, credentialParameters.QuotaProject));
        }
Example #3
0
        /// <summary>Creates a <see cref="ServiceAccountCredential"/> from JSON data.</summary>
        private static ServiceAccountCredential CreateServiceAccountCredentialFromParameters(
            JsonCredentialParameters credentialParameters)
        {
            if (credentialParameters.Type != JsonCredentialParameters.ServiceAccountCredentialType ||
                string.IsNullOrEmpty(credentialParameters.ClientEmail) ||
                string.IsNullOrEmpty(credentialParameters.PrivateKey))
            {
                throw new InvalidOperationException("JSON data does not represent a valid service account credential.");
            }
            var initializer = new ServiceAccountCredential.Initializer(credentialParameters.ClientEmail);

            return(new ServiceAccountCredential(initializer.FromPrivateKey(credentialParameters.PrivateKey)));
        }
        /// <summary>Creates a default credential from JSON data.</summary>
        private static GoogleCredential CreateDefaultCredentialFromJson(JsonCredentialParameters credentialParameters)
        {
            switch (credentialParameters.Type)
            {
            case JsonCredentialParameters.AuthorizedUserCredentialType:
                return(new GoogleCredential(CreateUserCredentialFromJson(credentialParameters)));

            case JsonCredentialParameters.ServiceAccountCredentialType:
                return(GoogleCredential.FromCredential(CreateServiceAccountCredentialFromJson(credentialParameters)));

            default:
                throw new InvalidOperationException(String.Format("Error creating credential from JSON. Unrecognized credential type {0}.", credentialParameters.Type));
            }
        }
        public VisionService CreateVisionServiceClient1()
        {
            var credentials = new Google.Apis.Auth.OAuth2.JsonCredentialParameters();

            using (StreamReader stream = new StreamReader(File.Open("app.json", FileMode.Open)))
            {
                string  json  = stream.ReadToEnd();
                dynamic array = JsonConvert.DeserializeObject(json);

                credentials = array;

                var serviceInitializer = new BaseClientService.Initializer()
                {
                    ApiKey          = credentials.ToString(),
                    GZipEnabled     = true,
                    ApplicationName = Application_Name
                };
                return(new VisionService(serviceInitializer));
            }
        }
        /// <summary>Creates a default credential from JSON data.</summary>
        private static GoogleCredential CreateDefaultCredentialFromJson(JsonCredentialParameters credentialParameters)
        {
            switch (credentialParameters.Type)
            {
            case JsonCredentialParameters.AuthorizedUserCredentialType:
                return(new GoogleCredential(CreateUserCredentialFromJson(credentialParameters)));

#if !NETSTANDARD
            case JsonCredentialParameters.ServiceAccountCredentialType:
                return(GoogleCredential.FromCredential(
                           CreateServiceAccountCredentialFromJson(credentialParameters)));
#else
            case JsonCredentialParameters.ServiceAccountCredentialType:
                throw new InvalidOperationException("Service Account credentials are not supported in .NET Core.");
#endif
            default:
                throw new InvalidOperationException(
                          String.Format("Error creating credential from JSON. Unrecognized credential type {0}.",
                                        credentialParameters.Type));
            }
        }
		/// <summary>Creates a <see cref="ServiceAccountCredential"/> from JSON data.</summary>
		private static ServiceAccountCredential CreateServiceAccountCredentialFromJson(JsonCredentialParameters credentialParameters)
		{
			if (credentialParameters.Type != JsonCredentialParameters.ServiceAccountCredentialType ||
				string.IsNullOrEmpty(credentialParameters.ClientEmail) ||
				string.IsNullOrEmpty(credentialParameters.PrivateKey))
			{
				throw new InvalidOperationException("JSON data does not represent a valid service account credential.");
			}
			var initializer = new ServiceAccountCredential.Initializer(credentialParameters.ClientEmail);
			return new ServiceAccountCredential(initializer.FromPrivateKey(credentialParameters.PrivateKey));
		}
		/// <summary>Creates a user credential from JSON data.</summary>
		private static UserCredential CreateUserCredentialFromJson(JsonCredentialParameters credentialParameters)
		{
			if (credentialParameters.Type != JsonCredentialParameters.AuthorizedUserCredentialType ||
				string.IsNullOrEmpty(credentialParameters.ClientId) ||
				string.IsNullOrEmpty(credentialParameters.ClientSecret))
			{
				throw new InvalidOperationException("JSON data does not represent a valid user credential.");
			}

			var token = new TokenResponse
			{
				RefreshToken = credentialParameters.RefreshToken
			};

			var initializer = new GoogleAuthorizationCodeFlow.Initializer
			{
				ClientSecrets = new ClientSecrets
				{
					ClientId = credentialParameters.ClientId,
					ClientSecret = credentialParameters.ClientSecret
				}
			};
			var flow = new GoogleAuthorizationCodeFlow(initializer);
			return new UserCredential(flow, "ApplicationDefaultCredentials", token);
		}
		/// <summary>Creates a default credential from JSON data.</summary>
		private static GoogleCredential CreateDefaultCredentialFromJson(JsonCredentialParameters credentialParameters)
		{
			switch (credentialParameters.Type)
			{
			case JsonCredentialParameters.AuthorizedUserCredentialType:
				return new GoogleCredential(CreateUserCredentialFromJson(credentialParameters));

			case JsonCredentialParameters.ServiceAccountCredentialType:
				return GoogleCredential.FromCredential(CreateServiceAccountCredentialFromJson(credentialParameters));

			default:
				throw new InvalidOperationException(String.Format("Error creating credential from JSON. Unrecognized credential type {0}.", credentialParameters.Type));
			}
		}
 /// <summary>Creates a default credential from JSON data.</summary>
 internal GoogleCredential CreateDefaultCredentialFromParameters(JsonCredentialParameters credentialParameters) =>
 credentialParameters.ThrowIfNull(nameof(credentialParameters)).Type switch
 {