リソースの URI は、認証サービスから取得するベース URI (http://{{ domain }}/services/data) に続きます。
ref. https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/resources_list.htm
↑の domain
は OAuth 2.0
で返される instance_url
。
以下はアクセストークン取得時のレスポンスとして返された instance_url
の例。
s-hiroshi-dev-ed.lightning.force.com
を指定してレコードを更新したが失敗した。
↑を OAuth 2.0
のアクセストークン取得で返される instance_url
の値 s-hiroshi-dev-ed.my.salesforce.com
に変更したら更新できた。
私のドメイン
で確認できるが、 OAuth2.0 の instance_url
を使うのが安全私のドメイン
と instance_url
が常に同じになるかは未確認ref. https://help.salesforce.com/articleView?id=000322728&type=1&mode=1
例:物件オブジェクト( API参照名 Property__c )のID a0000000000000000D
に関する情報を取得する(物件は Property
というらしい)。
$ curl --location --request GET 'https://{{ domain }}/services/data/v48.0/sobjects/Property__c/a0000000000000000D' \
--header 'X-PrettyPrint: 1' \
--header 'Authorization: Bearer {{access_token}}'
ID はブラウザで該当物件を表示したときに表示される値。
ref. https://www.synergy-marketing.co.jp/cloud/synergylead/support/salesforceid-output-byreport/
X-PrettyPrint:1
については以下を参照。
ref. https://developer.salesforce.com/docs/atlas.ja-jp.api_rest.meta/api_rest/dome_event_log_file_download.htm (Official)
接続アプリケーションまたはユーザーに対象オブジェクトの書き込み権限が必要。
{{domain}} は私のドメイン
で確認する。
-X
は--request
の短縮形-L
は--location
の短縮形-D
は--dump-header
の短縮形例1
curl --location --request PATCH 'https://{{domain}}/services/data/v52.0/sobjects/Account/{{object id}}' \
--header 'Content-Type: application/json; charset=UTF-8' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
-d '{"Name": "San4"}'
例2
curl --location --request PATCH 'https://{{domain}}/services/data/v52.0/sobjects/Account/{{object id}}' \
--header 'Content-Type: application/json; charset=UTF-8' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
--data-raw '{
"Name": "San2"
}'
例3
-D -
で標準出力にレスポンスヘッダ表示-d "@salesforce.json"
でローカルの同一ディレクトリにあるsalesforce.json
の値で更新 curl -D - -X PATCH 'https://{{domain}}/services/data/v52.0/sobjects/Account/{{object id}}' \
--header 'Content-Type: application/json; charset=UTF-8' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {{access_token}}' \
-d "@salesforce.json"