PostmanでSalesforce REST APIに接続

以前まではRestAPIの接続確認には、Apigeeを使用していたのだけれど、TLS1.0無効化の問題の影響からsandboxでは接続できなくなってしまった。
なので、代替としてちょっとめんどうだけれど、Postmanで接続してみた。

アクセストークンの取得

ドメインは、sandboxの場合は、 test.salesforce.com 、本番は、 login.salesforce.com となる。
今回はsandboxで試す。

Postmanにて、以下の内容で送信。

POST : https://test.salesforce.com/services/oauth2/token

  • grant_type : password
  • client_id : 接続アプリケーションのコンシューマ鍵
  • client_secret : 接続アプリケーションのコンシューマの秘密
  • username : 使用するアカウントのユーザ名
  • password : パスワード。必要な場合は、パスワード+セキュリティトークン

正しくログイン出来ると以下のようにJSONが返ってくる。

1
2
3
4
5
6
7
8
{
  "access_token": "xxx",
  "instance_url": "https://xxxx.salesforce.com",
  "id": "https://test.salesforce.com/id/xxxx/xxxx",
  "token_type": "Bearer",
  "issued_at": "xxx",
  "signature": "xxx"
}

access_tokeninstance_urlだけ必要。

APIに接続

例として、オブジェクトの一覧を取得してみる。
URLのドメイン部分を先程取得した、 instance_url を使用する。

GET : https://xxx.salesforce.com/services/data/v24.0/sobjects

ヘッダーに以下を追加。
ACCESS_TOKENには先程取得した、access_tokenを使用する。

  • Authorization : Bearer ACCESS_TOKEN

カスタムRestAPIの場合は以下のURLになる。
hoge/hoge@RestResource(urlMapping='/hoge/hoge')で指定したURLとなる。

https://xxx.salesforce.com/services/apexrest/hoge/hoge

参考

   このエントリーをはてなブックマークに追加