1

外部 API を呼び出すボタンがリボンにある Dynamics CRM 2011 製品を開発しています。現在、このボタンを機能させるには、ブラウザ (IE) で次の設定を変更する必要があります。                

ここに画像の説明を入力

この製品のターゲット顧客の多くはセキュリティを非常に意識しているため、これは避けたいと考えています。これらのアクセス許可を変更する必要がなく、外部 API と通信できるようにコードを記述する方法はありますか? CRM でボタンが押されたときに実行されるコードは、HTML と Javascript です。

ありがとう!

4

2 に答える 2

3

API を制御できますか? もしそうなら、CORSを調べてください。CORS を使用すると、基本的に、リクエスト応答にいくつかのヘッダーを追加するだけです。AJAX ライブラリ (jQuery の $.ajax など) を使用する場合は、そのままコードを書き続けることができるはずです。そうでない場合は、Javascript で cors を実装する方法についての良い記事がここにあります: http://eriwen.com/javascript/how-to-cors/

Cors を有効にするには、http: //enable-cors.org/ を参照してください。

于 2012-10-09T17:09:32.053 に答える
1

この CRM については何も知りませんが、JSONP 以外では、サーバー側のスクリプトをプロキシとして機能させるのが最善の策です。

したがって、ユーザー インターフェイス コードと同じドメイン内にスクリプトを作成します。そのスクリプトは、サーバー側の言語 (PHP など) を使用して、ユーザーに代わってクロス ドメイン スクリプトへの要求を実行します。サーバー側の接続には、アクセスできるドメインに制限がなく、ブラウザーが認識しているのは、呼び出し元ドメイン内のページに要求を送信していることだけです。これはおそらく安全です。

これをどのように行うかは、選択した正確な言語によって異なりますが、一般的には、リモート API URL とサーバー側スクリプトに必要な引数を送信するだけで済みます。サーバー側スクリプトは、その URL へのリクエストを再構築し、結果を渡します。クライアントに戻ります。

于 2012-10-09T16:49:43.633 に答える