--- title: PythonとBottleを使用してSalesforceにアクセスするサンプルを作成してみた tags: Salesforce Python Python3 bottle author: silverskyvicto slide: false --- ここ最近Pythonを個人的に学習し始めたこともあって、PythonからSalesforceを使用できないかと思って試してみた。 # 使用するもの 今回のサンプルを作成するのに使用したのは以下 - Python 3.5 - virtualenv - Bottle - simple-salesforce ちょっとだけ補足すると ### Bottle PythonでWebアプリケーションを作成するためのフレームワーク。PythonでWebアプリケーションを作成するためのフレームワークには他にDjangoなどがある。 Bottleはその中でも軽量なフレームワークで、必要最低限のものが一通り揃っているとのことなので選択。 ### virtualenv Pythonの仮想環境を作成するライブラリ。イメージとしてはVirtualboxとVagrantで仮想環境を作成するのに近いかも。 ### simple-salesforce PythonからSalesforceを操作するためのモジュール。公式ドキュメントを見た感じだとREST APIを叩いているみたい。 ## 実装 実装したものは最低限しかないけれど ```html:index.tpl Bottle Indexテンプレート

{{msg}}

``` ```py3: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("ログイン処理終了") run(host='localhost', port=8080, debug=True, reloader=True) ``` 本当に最低限だけです。 今後適宜追加予定なので。 現段階でのソースはGithubの[BottleSalesforceEnv](https://github.com/silverskyvicto/BottleSalesforceEnv)にあがっています。