Force.comのREST APIを使ってデータをインサートする
参考ページ:
新しくなったForce.com OAuth Toolkit for phpの使い方
OAuth 2.0 Web サーバ認証フロー
接続するためには、facebookなどと同じように、sf側でアプリを作成しなければならない。
そのアプリが、アクセストークンを発行する形。
そのアプリは、以前までは、リモートアクセス
と呼ばれるものだったけど、仕様変更で、
接続アプリケーション
に、変わったよう。
リダイレクトのURLはhttpsでないとダメ。
不特定多数からの接続を受け付ける場合は、
$oauth->auth_with_code();
ではなくて、$oauth->auth_with_password(USERNAME, PASSWORD);
を使わないといけない。
さらに、不特定の外部からアクセスする場合にはパスワードにセキュリティトークンをつけないといけない。
Force.com : REST API 開発 ユーザ名パスワード OAuth 認証
- 不特定多数からのアクセスを受け付ける場合(たいていこっち)は、パスワード+セキュリティトークンで認証が必要
- 特定のIPからの接続だけ、の場合は、IPを指定することでセキュリティトークンなしで認証が出来る。
インサートのサンプル
Interact with the Force.com REST API from PHP
リードにインサートしようとしたところ、バージョンが20では無理だった。
バージョンを24にしたらいけた。
$instance_url/services/data/v24.0/sobjects/Lead/
チェックボック型のデータは、boolean型。なので、true/falseで入れる。
日付型は、yyyy-mm-dd、とハイフンを入れる。
セールスフォースのデータローダで日付型を使う場合の注意
LeadではCompany
は必須項目。
複数選択のチェックボックスを送信する場合、配列、にするのではなく、;
区切りの文字列にして渡す。
{"where_you_use__c":"work;other;home"}