Ich habe vor kurzem angefangen, Python persönlich zu lernen, und habe mich gefragt, ob ich Salesforce von Python verwenden kann.
Das Folgende wurde verwendet, um dieses Beispiel zu erstellen
Ein wenig ergänzen
Bottle
Ein Framework zum Erstellen von Webanwendungen in Python. Andere Frameworks zum Erstellen von Webanwendungen in Python sind Django. Flasche ist ein leichtes Gerüst unter ihnen, und es wird gesagt, dass die minimal notwendigen Gegenstände verfügbar sind, also habe ich es gewählt.
virtualenv
Eine Bibliothek, die eine virtuelle Umgebung für Python erstellt. Als Image ähnelt es möglicherweise dem Erstellen einer virtuellen Umgebung mit Virtualbox und Vagrant.
simple-salesforce
Ein Modul zum Betreiben von Salesforce über Python. In der offiziellen Dokumentation scheint es, als würden Sie die REST-API erreichen.
Es gibt nur ein Minimum von dem, was ich implementiert habe
index.tpl
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Flaschenindexvorlage</title>
</head>
<body>
<h1>{{msg}}</h1>
<h2></h2>
<form action="" method="post">
<input type="text" name="username" placeholder="Username" />
<input type="password" name="password" placeholder="Password" />
<input type="password" name="security_token" placeholder="SecurityToken" />
<input type="submit" value="Einloggen" />
</form>
</body>
</html>
index.py
from bottle import route, run, template, request
from simple_salesforce import Salesforce
@route('/')
def index(msg='This page is home page.'):
return template('index', msg=msg)
@route('/', method=["POST"])
def login_salesforce():
uname = request.POST.getunicode("username")
upw = request.POST.getunicode("password")
token = request.POST.getunicode("security_token")
try:
sf = Salesforce(username=uname, password=upw, security_token=token)
return template("login_success")
except Exception as e:
return template("login_error")
finally:
print("Anmeldevorgang beendet")
run(host='localhost', port=8080, debug=True, reloader=True)
Es ist wirklich nur das Nötigste. Es wird in Zukunft nach Bedarf hinzugefügt.
Die Quelle zu diesem Zeitpunkt ist Githubs BottleSalesforceEnv.