使ってみる

1. 最新バージョンの R をダウンロード

以下サイトから最新バージョンの R をダウンロードします。
http://cran.r-project.org/

2. RForcecom をインストール、ロード

以下のコマンドを実行します。

install.packages("RForcecom")
library(RForcecom)

3. Force.com (Salesforce.com) にログイン

以下のように、SFDC のユーザ名、パスワード、インスタンス URL、API のバージョンをセットします。
インスタンス URL (例: https://ap0.salesforce.com/) は、SFDC のログイン後のページの URL で確認できます。
パスワード欄には、忘れずにセキュリティ トークンをセットしてください。

username <- "yourname@yourcompany.com"
password <- "YourPasswordSECURITY_TOKEN"
instanceURL <- "https://xxxx.salesforce.com/"
apiVersion <- "25.0"
session <- rforcecom.login(username, password, instanceURL, apiVersion)

4. SOQL クエリを実行する

SOQL を使ってデータセットを取得するには、rforcecom.query() 関数を使用します。

soqlQuery <- "SELECT Id, Name, Industry, AnnualRevenue FROM Account"
rforcecom.query(session, soqlQuery)

5. レコードを作成する

レコードを作成するには、rforcecom.create() 関数を使用します。

objectName <- "Account"
fields <- c(Name="R Analytics Service Ltd", Phone="5555-5555-5555")
rforcecom.create(session, objectName, fields)

6. レコードを取得する

データセットを取得するには、rforcecom.retrieve() 関数を使用します。

objectName <- "Account"
fields <- c("name", "Industry", "AnnualRevenue")
rforcecom.retrieve(session, objectName, fields)

7. レコードを更新する

レコードを更新するには、rforcecom.update() 関数を使用します。

objectName <- "Account"
id <- "999x000000xxxxxZZZ"
fields <- c(Phone="9999-9999-9999")
rforcecom.update(session, objectName, id, fields)

8. レコードをアップサートする

レコードをアップサートするには、rforcecom.update() 関数を使用します。
アップサートとは、該当のレコードが存在すればフィールドをアップデート、レコードが存在しなければ、インサートをします。

objectName <- "Account";
externalIdField <- "AccountMaster__c"
externalId <- "AM-00000151"
fields <- c(Name="ABC Network Company", Phone="3333-3333-3333")
rforcecom.upsert(session, objectName, externalIdField, externalId, fields)

9. レコードを削除する

レコードを削除するには、rforcecom.delete() 関数を使用します。

objectName <- "Account";
id <- "999x000000xxxxxZZZ"
rforcecom.delete(session, objectName, id)

10. SOSL クエリを実行する

SOSL クエリを実行するには、rforcecom.search() 関数を使用します。

queryString <- "United"
rforcecom.search(session, queryString)

11. SFDC サーバのタイムスタンプを取得する

SFDC サーバのタイムスタンプを取得するには、rforcecom.getServerTimestamp() 関数を使用します。

rforcecom.getServerTimestamp(session)