こんにちは、管理人の@Salesforce.Zです。
Salesforceが各種なAPIを提供している
今回は、REST APIを使い、組織の情報を取得したり、オブジェクトの作成、更新、削除等の操作を行ってみたいと思います。
プログラミング言語から直接コールする方法とUIツールでコールする方法などがあります。
それぞれの方法を共有します。
特に認証の仕組みなどは、HTTPのリクエストとレスポンスをそのままみれるこの方法が、仕組みを理解して、複雑なアプリケーションを作成していくサンプルとしても良いと思います。
全体の流れとしては下記になります。(流れをしっかり理解した上に進めば、理解しやすい)
接続アプリケーション作成
接続アプリケーションで発行されたコンシューマ鍵とコンシューマの秘密を使い、POSTメソッドでアクセストークンを取得する
操作時によくあるエラー
・Invalid grant_type
・unsupported grant_type
エラーに対して確認すべきところ
・データベース操作を行うため、アクセストークンを取得するURL
本番:https://login.salesforce.com/services/oauth2/token
SandBox:https://test.salesforce.com/services/oauth2/token
※インスタンス名を使わないこと(ap0、cs6など)
・対象ユーザのプロファイルではIPアドレス制限かけている
・ユーザ名とパスワードが違っている
・該当ユーザがロックされてしまった
ちなみに私がインスタンスのところでやられてしまったです。数日後にパスワード変更されて、知らないうちに数回試して、ユーザにロックをかけられてた
では、いきましょう!
目次
接続アプリケーション作成
- アクセス
・Classicの場合:「設定」⇒「ビルド」⇒「作成」⇒「アプリケーション」に行き、セクション「接続アプリケーション」で「新規」ボタンを押します。
・lightingの場合:「設定」⇒「アプリケーション」に行き、セクション「アプリケーションマネージ」で右上の「新規接続アプリケーション」ボタンを押します。
- 作成
下記の図のように作成し、[保存] をクリックすると、[コンシューマ鍵] が作成されて表示され、[コンシューマの秘密] が作成されます (リンクをクリックして表示します)。
- 作成した接続アプリケーション
作成した接続アプリケーションの詳細画面では、コンシューマ鍵とコンシューマの秘密が与えられる、これらをメモして、RestAPIをコールする時に使うアクセストークンを取得する時に設定する必要があります。
アクセストークンを取得する
アクセストークンを取得するにはコンシューマ鍵とコンシューマの秘密が必要です。
確認方法はアプリケーションマネージからできる。
コードでの操作
PythonやJavaなど言語を使用するもあります。ここでSalesforceの匿名コンソールを用いたコールする方法でいきます。
UIツールでの操作
使用ツール:Chrome 拡張機能であるRestlet Client
上記の例では、インスタンスの部分がtestになり、loginに書き換えるとアクセストークンを取得できる
修正後に
返したBODYにあるaccess_tokenの値をデータベース操作に必要なものメモしてください