def __init__(self, tenant = None, sessionId=None, endpoint=None, 
                 username=None, password=None, token=None, partner_wsdl=None):

        self.tenant = tenant
        self.sfclient = None
        self.db = None

        if partner_wsdl is None:
            partner_wsdl = os.path.join(os.path.dirname(__file__), "partnerwsdl.xml")

        if username and password:
            login = salesforce_oauth_request.login(username=username, password=password, 
                                                    token=token, cache_session=True)
            if 'access_token' in login:
                sessionId = login['access_token']
                endpoint = login['endpoint']
            else:
                raise RuntimeError("SF Login error: {0}".format(login))

        if sessionId:
            """This is the trick to use an OAuth access_token as the session id in the SOAP client."""
            self.h = SforcePartnerClient(partner_wsdl)

            self.h._sessionId = sessionId
            self.h._setEndpoint(endpoint)
            header = self.h.generateHeader('SessionHeader')
            header.sessionId = sessionId
            self.h.setSessionHeader(header)
            self.sfclient = self.h
示例#2
0
    def login_to_salesforce(username, password, token, sandbox):
        env_vars = (
            'SALESFORCE_CLIENT_ID',
            'SALESFORCE_CLIENT_SECRET',
            'SALESFORCE_REDIRECT_URI',
        )
        missing_env_vars = [e for e in env_vars if e not in os.environ]
        if missing_env_vars:
            raise RuntimeError(
                MissingEnvironmentVariablesMessage(
                    missing_env_vars=', '.join(missing_env_vars)
                )
            )

        try:
            import salesforce_oauth_request
        except ImportError:
            raise ImportError(
                MissingDependencyMessage(dependency='salesforce-oauth-request-yplan')
            )

        response = salesforce_oauth_request.login(
            username=username, password=password, token=token, sandbox=sandbox)
            
        if not 'access_token' in response:
            self.raise_error(str(response), resp.status)
                  
        return response['access_token'], response['instance_url']
    def login_to_salesforce(username, password):
        for key in ['SALESFORCE_CLIENT_ID','SALESFORCE_CLIENT_SECRET','SALESFORCE_REDIRECT_URI']:
            if key not in os.environ:
                raise RuntimeError("You must set %s to use username/pass login" % key)

        try:
            import salesforce_oauth_request
        except ImportError:
            raise ImportError("You must install salesforce-oauth-request to use username/password")

        packet = salesforce_oauth_request.login(username=username, password=password)
        return packet['access_token'],packet['instance_url']
    def setUp(self):
        login = salesforce_oauth_request.login(
            username=USERNAME,
            password=PASSWORD,
            token=SECURITY_TOKEN,
            client_id=CONSUMER_KEY,
            client_secret=CONSUMER_SECRET,
            cache_session=False,
            sandbox=True,
        )

        self.bulk = SalesforceBulk(login['access_token'], login['endpoint'])
        self.jobs = []
    def login_to_salesforce(username, password):
        env_vars = ("SALESFORCE_CLIENT_ID", "SALESFORCE_CLIENT_SECRET", "SALESFORCE_REDIRECT_URI")
        missing_env_vars = [e for e in env_vars if e not in os.environ]
        if missing_env_vars:
            raise RuntimeError("You must set {0} to use username/pass login".format(", ".join(missing_env_vars)))

        try:
            import salesforce_oauth_request
        except ImportError:
            raise ImportError("You must install salesforce-oauth-request to use username/password")

        packet = salesforce_oauth_request.login(username=username, password=password)
        return packet["access_token"], packet["instance_url"]
示例#6
0
    def setUp(self):
        login = salesforce_oauth_request.login(
            username=USERNAME,
            password=PASSWORD,
            token=SECURITY_TOKEN,
            client_id=CONSUMER_KEY,
            client_secret=CONSUMER_SECRET,
            cache_session=False,
            sandbox=True,
        )

        self.bulk = SalesforceBulk(login['access_token'], login['endpoint'])
        self.jobs = []
    def setUp(self):
        login = salesforce_oauth_request.login(
            username=USERNAME,
            password=PASSWORD,
            token=SECURITY_TOKEN,
            client_id=CONSUMER_KEY,
            client_secret=CONSUMER_SECRET,
            sandbox=False,  # Developer accounts do not have sandboxes.
        )

        endpoint = urlparse.urlparse(login['endpoint'])
        endpoint = endpoint.hostname

        self.bulk = salesforce_bulk.SalesforceBulk(
            login['access_token'],
            endpoint,
        )
        self.jobs = []
    def setUp(self):
        login = salesforce_oauth_request.login(
            username=USERNAME,
            password=PASSWORD,
            token=SECURITY_TOKEN,
            client_id=CONSUMER_KEY,
            client_secret=CONSUMER_SECRET,
            sandbox=False,  # Developer accounts do not have sandboxes.
        )

        endpoint = urlparse.urlparse(login['endpoint'])
        endpoint = endpoint.hostname

        self.bulk = salesforce_bulk.SalesforceBulk(
            login['access_token'],
            endpoint,
        )
        self.jobs = []
示例#9
0
    def login_to_salesforce(username, password, sandbox=False):
        env_vars = (
            'SALESFORCE_CLIENT_ID',
            'SALESFORCE_CLIENT_SECRET',
            'SALESFORCE_REDIRECT_URI',
        )
        missing_env_vars = [e for e in env_vars if e not in os.environ]
        if missing_env_vars:
            raise RuntimeError(
                "You must set {0} to use username/pass login".format(
                    ', '.join(missing_env_vars)))

        try:
            import salesforce_oauth_request
        except ImportError:
            raise ImportError(
                "You must install salesforce-oauth-request to use username/password")

        packet = salesforce_oauth_request.login(
            username=username, password=password, sandbox=sandbox)
        return packet['access_token'], packet['instance_url']
示例#10
0
    def login_to_salesforce(username, password, sandbox=False):
        env_vars = (
            'SALESFORCE_CLIENT_ID',
            'SALESFORCE_CLIENT_SECRET',
            'SALESFORCE_REDIRECT_URI',
        )
        missing_env_vars = [e for e in env_vars if e not in os.environ]
        if missing_env_vars:
            raise RuntimeError(
                "You must set {0} to use username/pass login".format(
                    ', '.join(missing_env_vars)))

        try:
            import salesforce_oauth_request
        except ImportError:
            raise ImportError(
                "You must install salesforce-oauth-request to use username/password")

        packet = salesforce_oauth_request.login(
            username=username, password=password, sandbox=sandbox)
        return packet['access_token'], packet['instance_url']
示例#11
0
if os.path.exists("test_settings"):
    creds = pickle.loads(open("test_settings").read())
    client_id = creds['client_id']
    client_secret = creds['client_secret']
    redirect_uri = creds['redirect_uri']
else:
    client_id = raw_input("Oauth Client ID: ")
    client_secret = raw_input("Oauth Client Secret: ")
    redirect_uri = raw_input("Redirect URI: ")
    with open("test_settings", "w") as f:
        f.write(
            pickle.dumps(
                dict(client_id=client_id,
                     client_secret=client_secret,
                     redirect_uri=redirect_uri)))

username = raw_input("Username: "******"Password: "******"............."
packet = salesforce_oauth_request.login(username=username,
                                        password=password,
                                        client_id=client_id,
                                        client_secret=client_secret,
                                        redirect_uri=redirect_uri)

print "Access token: %s" % packet['access_token']
print "Refresh token: %s" % packet['refresh_token']
print "Instance URL: %s" % packet['instance_url']
示例#12
0
            self.assertEqual(len(results), 3)

        self.results = None
        self.callback_count = 0
        def save_results2(rows, failed, remaining):
            self.results = rows
            self.callback_count += 1

        batch = len(results) / 3
        self.callback_count = 0
        flag = bulk.get_upload_results(job_id, batch_id, callback = save_results2, batch_size=batch)
        self.assertTrue(self.callback_count >= 3)


if __name__ == '__main__':
    username = raw_input("Salesforce username: "******"Salesforce password: "******"test_csv_upload", endpoint, sessionId))
    unittest.TextTestRunner().run(suite)





import salesforce_oauth_request

if os.path.exists("test_settings"):
	creds = pickle.loads(open("test_settings").read())
	client_id = creds['client_id']
	client_secret = creds['client_secret']
	redirect_uri = creds['redirect_uri']
else:
	client_id = raw_input("Oauth Client ID: ")
	client_secret= raw_input("Oauth Client Secret: ")
	redirect_uri = raw_input("Redirect URI: ")
	with open("test_settings", "w") as f:
		f.write(pickle.dumps(dict(client_id=client_id, 
								  client_secret=client_secret, 
								  redirect_uri=redirect_uri)))

username = raw_input("Username: "******"Password: "******"............."
packet = salesforce_oauth_request.login(username=username,
										password=password,
										client_id=client_id,
										client_secret=client_secret,
										redirect_uri=redirect_uri
										)

print "Access token: %s" % packet['access_token']
print "Refresh token: %s" % packet['refresh_token']
print "Instance URL: %s" % packet['instance_url']