[TIPS] Salesforce REST API: リクエストされたリソースは存在しません

By khoanc, at: 2024年3月2日10:17

Estimated Reading Time: __READING_TIME__ minutes

[TIPS] Salesforce REST API: The requested resource does not exist
[TIPS] Salesforce REST API: The requested resource does not exist
```html

簡単なまとめ: Salesforce REST API の NOT_FOUND エラーは、開発時間の "沈黙の殺し屋" となることがよくあります。通常、これはコードロジックではなく、URL 構造、API バージョン管理、または権限 の不一致が原因です。Glinteco では、このエラーを数分でデバッグするために、3 つの最も一般的な原因を特定しました。

 

[{ "errorCode": "NOT_FOUND", "message": "要求されたリソースは存在しません" }]


以下に、このエラーの原因として考えられるものをいくつか示します。正しく完全に実装されていることを確認するために、順番に確認できます。

 

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 名が正しいか再確認してください。 AccountLead などの標準オブジェクトは簡単ですが、カスタムオブジェクトには __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


Subscribe

Subscribe to our newsletter and never miss out lastest news.