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"}
   このエントリーをはてなブックマークに追加