def __init__(self, scope, client_email, key_file,
               private_key_password='notasecret', sub=None, proxy_info=None,
               disable_ssl_certificate_validation=False, ca_certs=None):
    """Initializes a GoogleServiceAccountClient.

    Args:
      scope: The scope of the API you're authorizing for.
      client_email: A string containing your Service Account's email.
      key_file: A string containing the path to your key file.
      [optional]
      private_key_password: A string containing the password for your key file.
      sub: A string containing the email address of a user account you want to
           impersonate.
      proxy_info: A ProxyInfo instance identifying the proxy used for all
                  requests.
      disable_ssl_certificate_validation: A boolean indicating whether ssl
          certificate validation should be disabled while using a proxy.
      ca_certs: A string identifying the path to a file containing root CA
          certificates for SSL server certificate validation.

    Raises:
      GoogleAdsValueError: If the given key file does not exist.
    """
    try:
      with open(key_file, 'rb') as f:
        private_key = f.read()
    except __HOLE__:
      raise googleads.errors.GoogleAdsValueError('The specified key file (%s)'
                                                 ' does not exist.' % key_file)

    self.oauth2credentials = oauth2client.client.SignedJwtAssertionCredentials(
        client_email, private_key, scope,
        private_key_password=private_key_password,
        user_agent=self._USER_AGENT, sub=sub)
    self.proxy_info = proxy_info
    self.disable_ssl_certificate_validation = disable_ssl_certificate_validation
    self.ca_certs = ca_certs
    self.Refresh()
dataset/ETHPy150Open googleads/googleads-python-lib/googleads/oauth2.py/GoogleServiceAccountClient.__init__