'Check to see if PyCrypto is available, and convert key file path into a
key string if the key is in a file.
:param  user_id: Email address to be used for Service Account
authentication.
:type   user_id: ``str``
:param  key: The RSA Key or path to file containing the key.
:type   key: ``str``'

def __init__(self, user_id, key, *args, **kwargs):

    if (SHA256 is None):
        raise GoogleAuthError('PyCrypto    library    required    for    Service    Account    Authentication.')
    if (key.find('PRIVATE    KEY---') == (-1)):
        keypath = os.path.expanduser(key)
        is_file_path = (os.path.exists(keypath) and os.path.isfile(keypath))
        if (not is_file_path):
            raise ValueError(("Missing    (or    not    readable)    key    file:    '%s'" % key))
        with open(keypath, 'r') as f:
            contents = f.read()
        try:
            key = json.loads(contents)
            key = key['private_key']
        except ValueError:
            key = contents
    super(GoogleServiceAcctAuthConnection, self).__init__(user_id, key, *args, **kwargs)
