错误:“我们”中的 Dialogflow 服务器收到了对位于“europe-west2-dialogflow.googleapis.com”中的资源的请求。

Elk*_*ios 4 dialogflow-es

我想用 dialogflow 检测意图,但由于某些原因,我的 dialogflow 代理的区域是 europe-west2。因此,为了指定位置,我使用了文档中描述的 Dialogflow API 的 v2beta1 版本。但它不起作用,我有以下错误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
Run Code Online (Sandbox Code Playgroud)

小智 6

我有类似的问题,但下面的配置可以访问欧洲西部2地区的dialogflow代理

  • 将位置设置为“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,
            },
        },
    };
Run Code Online (Sandbox Code Playgroud)