リソースの URI は、認証サービスから取得するベース URI (http://domain/services/data) に続きます。
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
を指定してレコードを更新したが失敗した。
↑のOAuth2.0
認証でアクエストークンを取得する際に返されるinstance_url
の値s-hiroshi-dev-ed.my.salesforce.com
に変更したら正常に更新できた。
私のドメイン
で確認できるが、OAuth2.0
のinstance_url
を使うのが安全私のドメイン
とinstance_url
が常に同じになるかは未確認https://help.salesforce.com/articleView?id=000322728&type=1&mode=1
例:物件オブジェクト(API参照名 Property__c)のID a0000000000000000D
に関する情報を取得。
(物件はProperty
というらしい)
$ curl --location --request GET 'https://xxx.salesforce.com/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"