首页 > 解决方案 > microsoft transaltor 的对话框流错误

问题描述

我试图调用下面的函数是对话流,但我无法响应正文

function calltransliterate(agent) {
        console.log('calltransliterate');
         return new Promise((resolve, reject) => {
         const trnstext= agent.parameters.trnsvar;
         var trnsaltedtext =null;
         var key_var = '**API_KEY**';
         var subscriptionKey = key_var;
         var endpoint_var = 'https://api.cognitive.microsofttranslator.com/';
         var endpoint = endpoint_var;

         let options = {
        method: 'POST',
        baseUrl: endpoint,
        url: 'transliterate',
        qs: {
          'api-version': '3.0',
         'language': 'ja',
      'fromScript': 'jpan',
      'toScript': 'latn'
        },
        headers: {
          'Ocp-Apim-Subscription-Key': subscriptionKey,
          'Content-type': 'application/json',
          'X-ClientTraceId': uuidv4().toString()
        },
        body: [{
              'text': trnstext
        }],
        json: true,
        };

           console.log('before request');
           requestModule.get(options, (error, response, body) =>{
           console.log('after request');           
           console.log(  (body)); //error occures here 
      });

   });
}

但是 console.log((body)); 消息:“请求的资源不支持请求方法。”

标签: javascripthttp-postdialogflow-esdialogflow-es-fulfillment

解决方案


尽管您设置options.method为“POST”,但您随后会调用requestModule.get(),这会将方法更改为“GET”。

尝试更多类似的东西

requestModule.post( options, (error, response, body) => {
  //...
});

推荐阅读