Pages

14 April 2013

salesforce-python-toolkit Memo


Salesforce-python-toolkit

It is developed by Mr.David Lanstein . It have a lot of functions than BeatBox.
This module need Suds 0.3.9. It does not work properly with Suds 0.4 which is currently stable version. You may get blow error If you use with 0.4.
INVALID_TYPE: Must send a concrete entity type.
just type this command if you want to install 0.3.9.
$ sudo easy_install "suds==0.3.9"

Test

This module does not update for over a year. so I smoke test with test_enterprise.py which contain in module package then I got 22/56 errors.

No such column 'DoNotCall' on entity 'Lead'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.'

I got this error on 2 test cases. This test use DoNotCall field but It is not allow to use on default setting.
null: can not find name space: sfga, 1.2
I got this error on 22 test cases. This test may expect to use 'SFGA(Salesforce for google adwords 1.2)' . but it is no longer supported.

anyway it still work with 27 WEB API.

salesforce-python-toolkit メモ

David Lansteinさんが開発されたライブラリーである。Beatboxよりも色々できる。このライブラリを使うためには、Suds 0.3.9 が必要である。0.4 はサポートしていないので注意。これは、Suds 0.4 で利用すると以下のようなエラーがでる。ネストがうまくいかないっぽい。
INVALID_TYPE: Must send a concrete entity type.
過去のバージョンをインストールするには以下のようにする。
$ sudo easy_install "suds==0.3.9"

とりあえずテスト

2年も更新されてた形跡がなかったので動くか、付属しているtest_enterpriseを実行してみる。実行してみると56項目中22項目がエラーになる。
No such column 'DoNotCall' on entity 'Lead'. If you are attempting to use a custom field, be sure to append the '__c' after the custom field name. Please reference your WSDL or the describe call for the appropriate names.'
上記のエラー、2項目は、DoNotCallフィールドを指定してあるテストが書かれている。これは初期のセキュリティ設定では参照できない項目だからだ。昔はデフォ参照可だったのかも。
null: 指定のパッケージバージョンの名前空間がインストールされていません: sfga, 1.2
上記のエラー、22項目は、サービス終了したSalesforce for google adwordsの1.2を想定しているためっぽぃ。昔はデフォで入ってたらしいのでそう作ったのか(?)。test_base.pyにある def setPackageVersionHeader(self): をpassさせる。

色々やらないかんっポィけど、開発者が想定している動作はひと通り出来ているので良しとする。さらに簡単に自分のコードを書いてみて動作することを確認。