错误:“我们"中的Dialogflow服务器收到了对"europe-west2-dialogflow.googleapis.com"中资源的请求. [英] Error : Dialogflow server in 'us' received request for resources located in 'europe-west2-dialogflow.googleapis.com.'
问题描述
我想检测一个dialogflow的意图,但是由于某些原因,我的dialogflow代理的区域是europe-west2.因此,要指定位置,我使用Dialogflow API的v2beta1版本,如文档中所述.但这不起作用,我在我们"中收到以下错误 Dialogflow服务器,收到了对位于'europe-west2-dialogflow.googleapis.com中的资源的请求.
I want to detect an intent with dialogflow, but my dialogflow agent's region is europe-west2 for some reasons. So to specify a location, I use the version v2beta1 of Dialogflow API like described in the documentation. But it doesn't worked and I have the following error Dialogflow server in 'us' received request for resources located in 'europe-west2-dialogflow.googleapis.com.
代码:
const sessionId = crypto.randomBytes(16).toString("hex");
// Create a new dialogflow session
const sessionClient = new Dialogflow.SessionsClient(this.dialogFlowConfig)
const sessionPath = sessionClient.projectLocationAgentSessionPath(this.projectId, "europe-west2-dialogflow.googleapis.com", sessionId);
// The text query request.
const dfRequest = {
session: sessionPath,
queryInput: {
event: {
name: "Welcome",
languageCode: DialogFlowService.LANGUAGE_CODE
}
}
}
try {
const responses = await sessionClient.detectIntent(dfRequest);
const result = responses[0].queryResult!;
Logger.debug(` Query: ${result.queryText}`);
Logger.debug(` Response: ${result.fulfillmentText}`);
if (result.intent) {
Logger.debug(` Intent: ${result.intent.displayName}`);
} else {
Logger.debug(` No intent matched.`);
}
return result
推荐答案
我遇到了类似的问题,但是下面的配置可以访问位于europe-west2地区的dialogflow代理
I had the similar issue, but the below config worked to access dialogflow agent's in region europe-west2
- 将位置设置为"europe-west2"
- 还需要设置SessionsClient的'apiEndpoint'为" europe-west2-dialogflow.googleapis.com"
const sessionClient = new dialogflow.SessionsClient({ apiEndpoint: "europe-west2-dialogflow.googleapis.com" });
const sessionPath = sessionClient.projectLocationAgentSessionPath(
projectId,
"europe-west2",
sessionId
);
// The text query request.
const request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode: languageCode,
},
},
};
这篇关于错误:“我们"中的Dialogflow服务器收到了对"europe-west2-dialogflow.googleapis.com"中资源的请求.的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!