错误:“我们"中的Dialogflow服务器收到了对"europe-west2-dialogflow.googleapis.com"中资源的请求. [英] Error : Dialogflow server in 'us' received request for resources located in 'europe-west2-dialogflow.googleapis.com.'

查看:40
本文介绍了错误:“我们"中的Dialogflow服务器收到了对"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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆