読者です 読者をやめる 読者になる 読者になる

"Diary" インターネットさんへの恩返し

いつもソースコードコピペばかりなので,みなさまへ少しばかりの恩返しを

Raspberry piからForce.comにデータを送ってみる(by Salesforce python toolkit)



スポンサーリンク

Raspberrypiでセンサーデータを読み取って定期的にデータをForce.comに送りレポート機能でグラフ描画することにした。

その手順をメモ(Raspberry piのセンサーデータ取得自体に関してはコチラ

以下はpythonAPIをインストールしてinsertテストまでの手順です。

1.salesforce python toolkitのダウンロード

#wget https://code.google.com/p/salesforce-python-toolkit/downloads/detail?name=salesforce-python-toolkit-0.1.5.tar.gz

他のバージョン等はコチラ
(https://code.google.com/p/salesforce-python-toolkit/downloads/list)
Downloads - salesforce-python-toolkit - Salesforce Python Toolkit - Google Project Hosting

2.salesforce python toolkitファイル解凍

#tar zxvf salesforce-python-toolkit-0.1.5.tar.gz

3.salesforce python toolkitインストール

#cd salesforce-python-toolkit
#sudo python setup.py install

Traceback (most recent call last):
  File "setup.py", line 25, in <module>
    from setuptools import setup, find_packages
ImportError: No module named setuptools

setuptoolsモジュールがたりないとのこと。

4.setuptoolsをインストール

その前に以下のコマンドで現在のpythonバージョンの確認

#python -V
Python 2.7.3

インストールガイドを見ると「Download ez_setup.py and run it using the target Python version. The script will download the appropriate version and install it for you」とあるので適切なバージョンを勝手に撮って来てくれるとのことありがたい。
[インストールガイド]
https://pypi.python.org/pypi/setuptools#installation-instructionssetuptools 2.0.1 : Python Package Index

rootに変わって実行。

#su
#wget https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py -O - | python
    •
    •
    •
    •
Adding setuptools 1.1.7 to easy-install.pth file
Installing easy_install script to /usr/local/bin
Installing easy_install-2.7 script to /usr/local/bin

Installed /usr/local/lib/python2.7/dist-packages/setuptools-1.1.7-py2.7.egg
Processing dependencies for setuptools==1.1.7
Finished processing dependencies for setuptools==1.1.7

上手く行った。では salesforce python toolkit をインストールする

5.salesforce python toolkitインストール(再)

#cd salesforce-python-toolkit
#sudo python setup.py install


Running suds-0.3.9/setup.py -q bdist_egg --dist-dir /tmp/easy_install-dM3zLr/suds-0.3.9/egg-dist-tmp-G7PMGG
zip_safe flag not set; analyzing archive contents...
Adding suds 0.3.9 to easy-install.pth file
    •
    •
    •
    •
Installed /usr/local/lib/python2.7/dist-packages/suds-0.3.9-py2.7.egg
Finished processing dependencies for salesforce-python-toolkit==0.1.5

6.partner.wsdl.xmlファイルの用意

Salesforceにログインして,App Setup > API > Generate Partner WSDL でサーバにxmlファイルをコピー

7.セキュリティトークンの取得

ネットに色々でているのでそちらを参考。

8.プログラム作成(test.py)

#6で取得した,partner.wsdlファイルの格納パス
from sforce.partner import SforcePartnerClient
h = SforcePartnerClient('../partner.wsdl.xml')

#ログインユーザID
h.login('アカウント', 'パスワード', 'セキュリティトークン')

#insert Lead EXAMPLESファイルに色々書いてあるのでコピペで動きます。
lead = h.generateObject('Lead')
lead = h.generateObject('Lead')
lead.FirstName = 'Joe'
lead.LastName = 'Moke'
lead.Company = 'Jamoke, Inc.'
lead.Email = 'joe@example.com'
result = h.create(lead)

8.実行

sudo python test.py

インサートされます。salesforce画面で確認。このインサート対象をセンサーデータようのオブジェクトを作ってやればうまくいきますな。