dackdive's blog

新米webエンジニアによる技術ブログ。JavaScript(React), Salesforce, Python など

PythonのSalesforceライブラリまとめ

nforcePython 版みたいなのが欲しくてそれらしいライブラリがないか調べていたところ、こちらの記事が大変参考になったので、プラスアルファで自分で調べたものも整理しておきます。

http://freedom-man.com/blog/python-salesforce/

参考にしたサイト


自分がライブラリに期待していること

  • 接続アプリケーションを作成して consumer key, consumer secret を取得できれば、username と password なしで認証ができる
  • REST API が使える


ライブラリ一覧

★ はおすすめ度(使えそう・役に立ちそう度)。

また、pyforce と simple-salesforce については冒頭に紹介したブログに使い方も載っているので参考になります。

★☆☆ pyforce

# memo

PyPI の説明に

A Python client wrapping the Salesforce.com SOAP API

とあるのでおそらく SOAP APIのみ対応。


★★☆ simple-salesforce

# memo

Heroku のリポジトリにあるのである程度信頼できそう。


☆☆☆ salesforce-python-toolkit

# memo

Heroku のブログでも紹介されてたが、古い(最終更新が2011年) ので使うことはなさそう。


★☆☆ salesforce-oauth-request

# memo

これも Heroku のリポジトリにあった。
以下、README から引用すると

A bit of Requests driven utility code to drive the Salesforce.com Oauth2 Web flow. Use this module to login to a Salesforce account using just the username and password.

というわけで OAuth と言いつつ username と password が必要?(未確認)


★★☆ salesforce-python-sdk

# memo

README には書いてないけど、username, password なしの OAuth2 認証に対応してる?


★☆☆ python-salesforce-client

# memo

Heroku のリポジトリにあったけど…READMEなし


番外編

★★☆ salesforce-oauth2

OAuth2 ログイン部分のみのサンプルコード?使ってみたい。

(2016/07/10追加)python-social-auth

ライブラリ自体は Salesforce に限定せず、TwitterGoogle など様々な web サービスとの認証機能を実装するためのもの。
これが Salesforce にも対応してるようなので、OAuth2 の実装はこれを使うと良さそうです。

http://python-social-auth.readthedocs.io/en/latest/backends/salesforce.html

(Gist) https://gist.github.com/joshbirk/8363143

simple-salesforce 使った OAuth2 認証のサンプルコード。
ちょっと改良して以下のようにすると動きました。


まとめ

というわけで「コレだ!」というのは見つからなかったんですが
使えそうだなーと思ったのは simple-salesforceOAuth2 のサンプルコード でしょうか。

(2016/01/29追記)

実際に simple-salesforce を試してみた例。