【Salesforce API】2020年7月頃からSalesforceのAPIが使えない時に確認する事

最近、Salesforceと連携していたWebサービスでAPIに連携できない問題が発生しました。
Salesforceを管理されている方からは「設定の変更をされていない」との事だったので、色々状況を調べることになりました。

解決策が見つかったので共有します。
もしかしたら他の問題の可能性もありますので、ご了承ください。

状況

toolkitを使用せずにスクラッチでAPIにリクエストしています。

developer.salesforce.com

下記のドメインからアクセストークンを取得しようとしました。

ベースURL:https://example.com.cs5.my.salesforce.com
アクセストークン取得時:https://example.com.cs5.my.salesforce.com/services/oauth2/token

curlでAPIにリクエストしたところ次のエラーが帰ってきました。   

The URL has moved here

原因

APIのURLの仕様が変わったようです。

2020年に公開されたリリースノートで次のような事が書かれています。

URL からインスタンス名を削除することによるドメインを安定化させる取り組みの一環として、Sandbox の [私のドメイン] URL の形式が変更されます。

変更の対応例に次のように書かれており、インスタンス名(cs5)の部分を除いたURLにする必要がありました。

変更前 変更後
mydomain--SandboxName.cs5.my.salesforce.com mydomain--sandboxname.my.salesforce.com
mydomain--c.cs5.visual.force.com mydomain--c.visualforce.com
mydomain--c.cs5.content.force.com mydomain--c.documentforce.com

releasenotes.docs.salesforce.com

次のように変更する事でアクセスする事ができます。
また、前項のエラーを出力してみると新しいドメインを確認する事もできます。

変更前:https://example.com.cs5.my.salesforce.com
変更後:https://example.com.my.salesforce.com

インスタンス名とは何か?

salesforceはデータセンター毎にインスタンスを設定しているようです。

help.salesforce.com

APIに設定していた、cs5というのは、神戸、日本/東京、日本のデータセンターから取得する事を指しています。

©︎2017-2018 WebSandBag