[TIPS] Salesforce REST API: リクエストされたリソースは存在しません
By khoanc, at: 2024年3月2日10:17
Estimated Reading Time: __READING_TIME__ minutes
簡単なまとめ: Salesforce REST API の NOT_FOUND エラーは、開発時間の "沈黙の殺し屋" となることがよくあります。通常、これはコードロジックではなく、URL 構造、API バージョン管理、または権限 の不一致が原因です。Glinteco では、このエラーを数分でデバッグするために、3 つの最も一般的な原因を特定しました。
以下に、このエラーの原因として考えられるものをいくつか示します。正しく完全に実装されていることを確認するために、順番に確認できます。
1. 不正なエンドポイント URL 構造
最も一般的な原因は、微妙な誤字や、Salesforce がその API エンドポイントをどのように構築しているかの誤解です。
a. API ドメイン vs. Lightning ドメイン
多くの開発者は、API ドメインの代わりに、誤って (ブラウザ用の) Lightning URL を使用しています。
-
誤り:
https://yourdomain.lightning.force.com/
-
正しい:
https://yourdomain.my.salesforce.com/
b. API バージョン管理における "v"
Salesforce は、そのバージョン管理形式に非常に厳格です。小文字の "v" を忘れると、リソースが見つかりません。
-
誤り:
/services/data/60.0/sobjects/Lead/
-
正しい:
/services/data/v60.0/sobjects/Lead/
c. オブジェクトの利用不可
sObject 名が正しいか再確認してください。 Account や Lead などの標準オブジェクトは簡単ですが、カスタムオブジェクトには __c サフィックスが必要です。
-
ヒント: 現在のユーザーがアクセスできるすべてのオブジェクトをリストするには、
/services/data/vXX.X/sobjects/エンドポイントを使用します。
2. 不正な権限
- Salesforce REST API と統合するには、設定ページで "接続アプリケーション" を作成する必要があります (検索場所: 設定ダッシュボード > プラットフォームツール > アプリ > 接続アプリケーション > 接続アプリケーションの管理)
- その "接続アプリケーション" に対して、組織内の特定のユーザーとして実行するための権限を割り当てる必要があります。 設定ダッシュボード > プラットフォームツール > アプリ > 接続アプリケーション > 接続アプリケーションの管理 > アプリ名
Tag list:
- Salesforce problems
- sObject
- Salesforce API issues
- Salesforce Integration
- Salesforce REST API
- Salesforce API errors
- Salesforce