この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Salesforce Connect カスタムアダプタのコールアウト

他の Apex コードと同様に、Salesforce Connect カスタムアダプタもコールアウトを実行できます。外部システムへの接続に認証が必要な場合は、コールアウトに認証パラメータを組み込みます。

認証パラメータは、ConnectionParams オブジェクトでカプセル化され、DataSource.Connection クラスのコンストラクタに提供されます。

たとえば、接続に OAuth アクセストークンが必要な場合は、次のようなコードを使用します。
1public HttpResponse getResponse(String url) {
2    Http httpProtocol = new Http();
3    HttpRequest request = new HttpRequest();
4    request.setEndPoint(url);
5    request.setMethod('GET');
6    request.setHeader('Authorization', 'Bearer ' + 
7            this.connectionInfo.oauthToken);
8    HttpResponse response = httpProtocol.send(request);
9    return response;
10}
接続に基本的なパスワード認証が必要な場合は、次のようなコードを使用します。
1public HttpResponse getResponse(String url) {
2    Http httpProtocol = new Http();
3    HttpRequest request = new HttpRequest();
4    request.setEndPoint(url);
5    request.setMethod('GET');
6    string encodedHeaderValue = EncodingUtil.base64Encode(Blob.valueOf(
7            this.connectioninfo.username + ':' + 
8            this.connectionInfo.password));
9    request.setHeader('Authorization', 'Basic ' + encodedHeaderValue);
10    HttpResponse response = httpProtocol.send(request);
11    return response;
12}

Salesforce Connect カスタムアダプタのコールアウトエンドポイントとしての指定ログイン情報

Salesforce Connect カスタムアダプタは、必要に応じて、Salesforce に保存されている適切なログイン情報を取得します。ただし、Apex コードはこれらのログイン情報をすべてのコールアウトに適用する必要があります。この例外は、指定ログイン情報をコールアウトエンドポイントとして指定する場合です。指定ログイン情報を使用すると、Salesforce が認証ロジックを処理できるため、コードで処理する必要がありません。

カスタムアダプタのすべてのコールアウトが指定ログイン情報を使用する場合は、外部データソースの [認証プロトコル] 項目を [認証なし] に設定できます。指定ログイン情報は、コールアウトに適切な証明書を追加し、標準の認証ヘッダーも追加できます。また、指定ログイン情報として定義されている Apex コールアウトエンドポイントにリモートサイトを定義する必要はありません。