Elixirのforce.com用ライブラリのforcexを使ってforce.comのAPIを叩いてみました。

設定

mixでプロジェクトを作成します

configファイルを編集します。

dependencyも変更

依存ライブラリを取得

メインスクリプト↓

モジュール↓

あとはプロジェクトルートでコンパイル&スクリプト実行すればOK。今回の例だと取引先名が標準出力に表示されます。

ちなみに、configを書かなくても以下の環境変数を設定して、接続先を決定することも出来ます。

  • SALESFORCE_USERNAME
  • SALESFORCE_PASSWORD
  • SALESFORCE_SECURITY_TOKEN
  • SALESFORCE_CLIENT_ID
  • SALESFORCE_CLIENT_SECRET

接続環境とAPIバージョンの切り替え

issueを出したら対応していただきました!

Can we change the endpoint for salesforce? · Issue #7 · jeffweiss/forcex

こんな感じで使います。

ハマりどころ

forcexというよりElixir及びmixの使い方のところでハマったので以下、備忘録

def application内の依存モジュールを入れないと以下のエラーが発生します。

configを適切に設定しないとclient_idが不正だよ、と以下のエラーが発生します