ダイナミックWSを外部HTMLページから呼び出すときに、CORS
という問題が発生しています。Dynamics CRM 2016の認証外部システムからのWebサービスの無効化
CORS
をサーバーで有効にする方法を見て、CRMサイトのweb.config
に次の行を挿入しました。
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
これはCORS
問題を解決するように見えたが、その後に述べた新しいエラーが発生した:
認証は、私はjavascriptのコードを生成するREST Builderツールを使用
に失敗しました。しかし、私はどのように呼び出しを認証するか分からない。
次のように私が使用しているコードは次のとおりです。
var entity = {};
entity.new_name = "John Smith";
entity.new_guid = "KHU464KOU3";
var req = new XMLHttpRequest();
req.open("POST", "http://crmsitedomain.com/api/data/v8.2/new_consumer", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function() {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 204) {
alert("Created");
} else {
alert(this.status); // is returning "0"
}
}
};
req.send(JSON.stringify(entity));
私は「トークンヘッダー」ツールで「偽装」のオプションを見ていますが、どこ、私はそれらのパラメータの値を得るのですか?
あなたは答えを見つけましたか? (あなたが持っているなら、あなた自身の質問に答えることは素晴らしいでしょう)自分の研究をしている間に、Azure Active Directoryにあなたのアプリを登録する必要があるように見えます。こちらをご覧ください:https://msdn.microsoft.com/en-gb/library/gg327838.aspx – Chris76786777