def __init__(self, credentials, *, protocol=None, main_resource=ME_RESOURCE,<EOL>**kwargs):
protocol = protocol or MSGraphProtocol  <EOL>self.protocol = protocol(default_resource=main_resource,<EOL>**kwargs) if isinstance(protocol,<EOL>type) else protocol<EOL>if not isinstance(self.protocol, Protocol):<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>self.con = Connection(credentials, **kwargs)<EOL>self.main_resource = main_resource<EOL>
Creates an object which is used to access resources related to the
        specified credentials

        :param tuple credentials: a tuple containing the client_id
         and client_secret
        :param Protocol protocol: the protocol to be used in this account
        :param str main_resource: the resource to be used by this account
         ('me' or 'users')
        :param kwargs: any extra args to be passed to the Connection instance
        :raises ValueError: if an invalid protocol is passed