2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PythonとBottleを使用してSalesforceにアクセスするサンプルを作成してみた

Posted at

ここ最近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を叩いているみたい。

実装

実装したものは最低限しかないけれど

index.tpl
<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
    <title>Bottle Indexテンプレート</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="ログイン" />
    </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("ログイン処理終了")

run(host='localhost', port=8080, debug=True, reloader=True)

本当に最低限だけです。
今後適宜追加予定なので。

現段階でのソースはGithubのBottleSalesforceEnvにあがっています。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?