この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
Salesforceはじめてみた
幼稚園でおともだちのリスト化とお出かけのスケジューリングとナーチャリングをするためにSalesforceを始めてみた、5歳のあかりです。
いきなりですが、私はエンジニアなので、画面を触りたくありません。でも、APIを直接コールするのも面倒です。そこで、CLI(コマンドライン・インタフェース)です。
さっそくググりました。それらしいものが出てきました。
Force.com CLI
Force.comとは何でしょうか。アプリケーション開発プラットフォームのようです。SalesforceのSales Cloudに入ったデータを読めそうです。読み込めるかやってみましょう。
Force.com CLIをダウンロードしてみます。
Mac版を入れてみました。コマンドたたいてみます。
$ ./force
Usage: force <command> [<args>]
Available commands:
login force login [-i=<instance>] [<-u=username> <-p=password>]
logout Log out from force.com
logins List force.com logins used
active Show or set the active force.com account
whoami Show information about the active account
describe Describe the object or list of available objects
sobject Manage standard & custom objects
bigobject Manage big objects
field Manage sobject fields
record Create, modify, or view records
bulk Load csv file use Bulk API
fetch Export specified artifact(s) to a local directory
import Import metadata from a local directory
export Export metadata to a local directory
query Execute a SOQL statement
apex Execute anonymous Apex code
trace Manage trace flags
log Fetch debug logs
eventlogfile List and fetch event log file
oauth Manage ConnectedApp credentials
test Run apex tests
security Displays the OLS and FLS for a give SObject
version Display current version
update Update to the latest version
push Deploy artifact from a local directory
aura force aura push -resourcepath=<filepath>
password See password status or reset password
notify Should notifications be used
limits Display current limits
help Show this help
datapipe Manage DataPipes
Run 'force help [command]' for details.
簡単ですね。
CLIからForce.comにログインする
続いて、Force.comにログインしてみます。
$ ./force login
ブラウザが開きますので、Salesforceにログインします。
その後に、OAuth認証画面が出ます。Force.com CLIを信用するか?と。今回は信用してあげましょう。
これで、使えるようになりました。コマンドラインから、ブラウザのフォーム出すのは、なかなか簡単ですね。
コマンドラインから顧客一覧を取得する
あとはクエリーをたたけばデータ取れそうです。
$ ./force query "select id,name from account order by name"
Id | Name
--------------------+--------------------------------------------------------------------------
XXXXXXXXXXVWdn7AAD | (サンプル)株式会社AAAAAAA
XXXXXXXXXXVWdn5AAD | (サンプル)株式会社BBBBBBB
XXXXXXXXXXVWdn6AAD | (サンプル)CCCCCCC株式会社
ちなみに、このクエリーは、SOQL(Salesforce Object Query Language)というらしい。O/Rマッパー付きのSQLかなぁ。
コンタクトリストに追加する
データが取れたんだから、今度は登録しようってことで、SOQLでInsert文書いてみたら、、、できないっぽい。そこで、調べて見たら、Apexという言語で書けるらしい。Apexは、Force.com上で利用するオブジェクト指向言語だそうです。
んじゃ、コンタクトリストに追加してみましょう。
$ ./force apex
>> Start typing Apex code; press CTRL-D when finished
try {
Account acct = new Account(Name='クラスメソッド株式会社');
insert acct;
//自動発行ID
ID acctID = acct.ID;
//コンタクトの作成
Contact con = new Contact(
FirstName='和樹',
LastName='植木',
Phone='123-1230-1230',
AccountId=acctID);
//登録
insert con;
} catch(DmlException e) {
System.debug('An unexpected error has occurred: ' + e.getMessage());
}
^D
登録されたかどうか、CLIで確認します。
$ ./force query "select id,name from contact"
Id | Name
--------------------+-------------------------------------------------
XXXXXXXXXXLOGhIAAX | 植木 和樹
行けたっぽいです。
まとめ
とりあえず、コマンドラインを使ってSalesforceを扱うことができました。CLIから操作できるということは、他システムと連携や自動化が簡単にできるってことですねー。
ところで、未だ利用する画面を見ていない。。。