IBM Bluemix ConversationサービスでCORSを有効にすることはできますか?Bluemix ConversationでCORSを有効にする方法
これは、クライアントサイドのJavaScriptでapiを呼び出すことができ、クロスオリジンのエラーを防ぐためです。
IBM Bluemix ConversationサービスでCORSを有効にすることはできますか?Bluemix ConversationでCORSを有効にする方法
これは、クライアントサイドのJavaScriptでapiを呼び出すことができ、クロスオリジンのエラーを防ぐためです。
Conversation API docをご覧ください。
アプリケーションは、トークンを使用して、すべての呼び出しでサービス資格情報を埋め込むことなく、ワトソンサービスとの認証された通信を確立することもできます。 Bluemixに認証プロキシを作成してクライアントアプリケーション用のトークンを取得し、そのトークンを使用して直接サービスを呼び出すことができます。サービスの資格情報を使用して、そのサービスのトークンを取得します...
追加のステップが1つあります。サーバー側でwatson認証トークンを生成するには、Authorization Serviceを使用する必要があります。
X-Watson-Authorization-Token
のトークンを使用するか、watson-token
という名前のキーを持つクエリパラメータとして、トークンを使用して会話サービスに直接リクエストすることができます。
私が答えたHereは、Watson認証トークンを生成するために使用されたPHPサーバーで上記のことを行うWatsonトーンアナライザサービス用の動作中のサンプルコードを持っています。トーンアナライザーの代わりに会話URLを代用する必要があります。
任意の種類のサービスインターフェイスに対してCORSを有効にする簡単な方法があります。応答ヘッダーにCORSを許可するドメインを追加するだけです。 あなたも動的なヘッダを生成できるようにするには、すべての起源からの要求を許可することもできます。
app.post('/api/conversation', function(request, response) {
var text = request.body.text;
//this is the point you prepare for CORS
var origin = request.headers.origin;
response.header("Access-Control-Allow-Origin", origin);
//and you have just solved the CORS issue
conversation.message({
workspace_id: 'your-conversation-workspace-id-here',
input: {'text': text},
context: {}
},
function(err, resp) {
if (err){
response.sendStatus(500);
}else{
response.write(JSON.stringify(resp));
response.end();
}
});
});
アップデート - 私たちは、実際に電話をかけることなどなかったの応答を返送するためにPHPを使用して、別のアプローチを行ってきました」をCORSなどを有効にする必要がある – AndyOS