Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dialogflow es 从Dialogflow v1迁移到Dialogflow v2时,HTTP请求格式有哪些变化_Dialogflow Es - Fatal编程技术网

Dialogflow es 从Dialogflow v1迁移到Dialogflow v2时,HTTP请求格式有哪些变化

Dialogflow es 从Dialogflow v1迁移到Dialogflow v2时,HTTP请求格式有哪些变化,dialogflow-es,Dialogflow Es,下面的python代码是我用来作为http请求查询dialogflow-V1的代码。我想迁移到v2。但是当我更改v2命名的参数时,我遇到了问题 headers = { 'Authorization': 'Bearer CLIENT_ACCESS_TOKEN' } params = ( ('v', '20150910'), ('lang', 'en'), ('query', 'query_str'), ('sessionId', "10000"), #UNIQUE

下面的python代码是我用来作为http请求查询dialogflow-V1的代码。我想迁移到v2。但是当我更改v2命名的参数时,我遇到了问题

headers = {
'Authorization': 'Bearer CLIENT_ACCESS_TOKEN'
}

params = (
    ('v', '20150910'),
    ('lang', 'en'),
    ('query', 'query_str'),
    ('sessionId', "10000"), #UNIQUE ID
    ('timezone', 'America/New_York'),
    )

response = requests.get('https://api.dialogflow.com/v1/query', headers=headers, params=params)
帮助我将上述DFv1代码迁移到DFv2格式 下面是我试过的

headers = {
'Authorization': 'Bearer #Client access token'
}

params = (
    ('queryInput.text.languageCode ', 'en'),
    ('detectIntent', 'query_str'),
    ('session', 'projects/your-project-id/agent/sessions/session-id'),  
    ('queryParams.timeZone ', 'America/New_York'),
    )

response = requests.get('https://api.dialogflow.com/v2/query', headers=headers, params=params)
我不确定DFv2中的会话id到底是什么。这里的响应不是预期的任何格式。下面是响应

b'Dialogflow@-moz-keyframes blink {0%{opacity:1;} 50%{opacity:0;} 100%{opacity:1;}}@-webkit-keyframes blink {0%{opacity:1;} 50%{opacity:0;} 100%{opacity:1;}}@-ms-keyframes blink {0%{opacity:1;} 50%{opacity:0;} 100%{opacity:1;}}@keyframes blink {0%{opacity:1;} 50%{opacity:0;} 100%{opacity:1;}}@-moz-keyframes fadein {from{opacity:0;} to{opacity:1;}}@-webkit-keyframes fadein{from{opacity:0;} to{opacity:1;}}@-ms-keyframes fadein {from{opacity:0;} to{opacity:1;}}@keyframes fadein {from{opacity:0;} to{opacity:1;}}#loading-screen{background: #fff; position: fixed; top: 0; left: 0; height: 100%; width: 100%; z-index: 999999; opacity: 1; filter: alpha(opacity=100); -webkit-transition: opacity 500ms ease; transition: opacity 500ms ease;}#loading-screen #logo {display: block; width: 109px; height: 39px; background-repeat: no-repeat; background-image: url(\'https://www.gstatic.com/dialogflow-console/common/assets/img/logo@2x-black.png\'); background-size: contain; position: absolute; top: 50%; left: 50%; margin: -20px 0 0 -55px; -moz-transition:all 1s ease-in-out; -webkit-transition:all 1s ease-in-out; -o-transition:all 1s ease-in-out; -ms-transition:all 1s ease-in-out; transition:all 1s ease-in-out; -moz-animation:blink normal 2s infinite ease-in-out; -webkit-animation:blink normal 2s infinite ease-in-out; -ms-animation:blink normal 2s infinite ease-in-out; animation:blink normal 2s infinite ease-in-out;}#loading-screen #assistant-preview {width: 400px; height: 200px; position: absolute; top: 50%; left: 50%; margin: -120px 0 0 -200px; text-align: center; background: white; -webkit-animation: fadein 500ms; -moz-animation: fadein 500ms; -ms-animation: fadein 500ms; animation: fadein 500ms;}#loading-screen #assistant-preview .logo {width: 46px; height: 46px; background-repeat: no-repeat; background-image: url(\'https://www.gstatic.com/dialogflow-console/common/assets/img/logo_icon_48dp.png\'); background-size: contain; position: absolute; left:45%;}#loading-screen #assistant-preview .title {margin-top: 100px; font-size: 23px;}#loading-screen #assistant-preview .progress-container {margin: 25px 50px;}#loading-screen #assistant-preview .progress-container md-progress-linear, #loading-screen #assistant-preview .progress-container md-progress-linear .md-container, #loading-screen #assistant-preview .progress-container md-progress-linear .md-bar, #loading-screen #assistant-preview .progress-container md-progress-linear .md-dashed {height: 2px;}window.INTERNALIZED = true; window.DF_FLAGS = {email: "", backend: "https:\\/\\/api.dialogflow.com", opBackend: "https:\\/\\/dialogflow.clients6.google.com", apiKey: "AIzaSyD1dO8oRagJkmtkSJ9oLI289jIT8M4Zk5s",}; window.saveAs = undefined; window.i18n = undefined; window.d3 = undefined; window.addStyleString = function(str){var node = document.createElement(\'style\'); node.innerHTML = str; document.head.appendChild(node);};window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);}gtag(\'js\', new Date()); gtag(\'config\', \'UA-98266305-2\'); gtag(\'config\', \'UA-98266305-8\');Updating Actions on Google...var loadDeferredStyles = function() {var addStylesNode = document.getElementById("deferred-styles"); var replacement = document.createElement("div"); replacement.innerHTML = addStylesNode.textContent; document.body.appendChild(replacement); addStylesNode.parentElement.removeChild(addStylesNode);}; var raf = window.requestAnimationFrame || window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || window.msRequestAnimationFrame; if (raf) {raf(function() { window.setTimeout(loadDeferredStyles, 0); });} else {window.addEventListener(\'load\', loadDeferredStyles);}if (window.location.hash.endsWith(\'assistant_preview\')) {setTimeout(function () {document.getElementById(\'assistant-preview\').style.display = \'block\';}, 200);} else {document.getElementById(\'logo\').style.display = \'block\';}window.WIZ_global_data = {"nQyAE":{"EtBwpb":"false","He6Wuc":"false","xJW1Ve":"true","tm22M":"false","aVzR2d":"false","ox9Ggd":"false","Dk1LPb":"false","CXZ8Fd":"false","c9LSR":"true","tvMknd":"true","eiw7Vc":"false","tLPClf":"false","lAsnAb":"false","buULxf":"false","adjIR":"false"}};var AF_initDataKeys = []\n; var AF_dataServiceRequests = {}; var AF_initDataChunkQueue = []; var AF_initDataCallback; var AF_initDataInitializeCallback; if (AF_initDataInitializeCallback) {AF_initDataInitializeCallback(AF_initDataKeys, AF_initDataChunkQueue, AF_dataServiceRequests);}if (!AF_initDataCallback) {AF_initDataCallback = function(chunk) {AF_initDataChunkQueue.push(chunk);};}' b.b.b.b.b.b.b.b.b.b.b.b.b.DiaDiaDiaDia流动流动流动-moz的关键帧流动流动-b.b.b.b.b.b.b.b.b.b.b.b.b.b.b.DiaDiaDia流动流动流动-moz的关键帧流动-moz关键帧闪烁{0%{{{0{{不透明度:1.0;0;0;0;0.0}}100{100 100{不透明:1.1;1;}}}网页网页......................Webki..................Webki...................Webki...................Webkiki......{不透明度:1;}}@-webkit关键帧fadein{from{opacity:0;}to{opacity:1;}}-ms关键帧fadein{from{opacity:0;}to{opacity:1;}}@关键帧fadein{from{opacity:0;}to{opacity:1;}}加载屏幕{背景:#fff;位置:固定;顶部:0;左侧:0;高度:100%;宽度:100%;z索引:99999;不透明度:1;过滤器:alpha(不透明度=100)-webkit转换:不透明度500ms缓解;转换:不透明度500ms缓解;}加载屏幕{徽标{显示:块;宽度:109px;高度:39px;背景重复:无重复;背景图像:url(\'https://www.gstatic.com/dialogflow-console/common/assets/img/logo@2x黑色.png\');背景大小:包含;位置:绝对;顶部:50%;左侧:50%;边距:-20px 0 0-55px;-moz过渡:所有1s缓进输出;-webkit过渡:所有1s缓进输出;-o-过渡:所有1s缓进输出;-ms过渡:所有1s缓进输出;过渡:所有1s缓进输出;-moz动画:闪烁正常2s无限缓进输出;-webkit动画:闪烁normal 2s无限轻松输入输出;-ms动画:闪烁正常2s无限轻松输入输出;动画:闪烁正常2s无限轻松输入输出;}#加载屏幕#辅助预览{宽度:400px;高度:200px;位置:绝对;顶部:50%;左侧:50%;边距:-120px 0-200px;文本对齐:中心;背景:白色;-webkit动画:fadein 500ms;-moz动画:fadein 500ms;-ms动画:fadein 500ms;动画:fadein 500ms;}加载屏幕#辅助预览。徽标{宽度:46px;高度:46px;背景重复:无重复;背景图像:url(\'https://www.gstatic.com/dialogflow-console/common/assets/img/logo_icon_48dp.png\“);背景大小:包含;位置:绝对;左侧:45%;}#加载屏幕#辅助预览。标题{页边空白顶部:100px;字体大小:23px;}”#加载屏幕#助手预览。进度容器{边距:25px 50px;}#加载屏幕#助手预览。进度容器md进度线性,#加载屏幕#助手预览。进度容器md进度线性。md容器,#加载屏幕#助手预览。进度容器md进度线性。md条,#加载屏幕#助手预览。进度容器md进度线性。md虚线{高度:2px;}window.INTERNALIZED=true;window.DF\u FLAGS={email:,backend:“https:\/\\/api.dialogflow.com”,opBackend:“https:\\/\\\\/dialogflow.clients6.google.com”,apiKey:“AIzaSyD1dO8oRagJkmtkSJ9oLI289jIT8M4Zk5s”,};window.saveAs=未定义;window.i18n=未定义;window.d3=未定义;window.addStyleString=函数(str){var node=document.createElement(\'style\');node.innerHTML=str;document.head.appendChild(node);};window.dataLayer=window.dataLayer | |[];function gtag(){dataLayer.push(arguments);}gtag(\'js\',new Date();gtag(\'config\'UA 98266305-2\');gtag(\'config\'UA\,'UA 98266305-8\';更新Google上的操作…var loadDeferredStyles=function(){var addStylesNode=document.getElementById(“延迟样式”);var replacement=document.createElement(“div”);replacement.innerHTML=addStylesNode.textContent;document.body.appendChild(replacement);addStylesNode.parentElement.removeChild(addStylesNode);}var raf=window.requestAnimationFrame | window.mozRequestAnimationFrame | window.webkitRequestAnimationFrame | window.msRequestAnimationFrame;if(raf){raf(function(){window.setTimeout(loadDeferredStyles,0)}else{window.addEventListener(\'load\',loadDeferredStyles)}if(window.location.hash.endsWith(\'U预览\')){setTimeout(function(){document.getElementById(\'assistant-preview\')).style.display=\'block\'},200);}else{document.getElementById(\'logo\').style.display=\'block\'}window.WIZ\u全局\u数据={“nQyAE”:{“etbwbpb”:“false”,“He6Wuc:”false”,“xjw1lve:“true”,“tm22M:”false”,“aVzR2d:”false”,“ox9dkggd:”false”,“CXZ8Fd:”,“c9LSR:“true”,“tvMknd:“true”,“eiw7Vc:“false”,“tLPClf:“false”,“lAsnAb:“false”,“buULxf:“false”,“adjIR:“false”};var AF_initDataKeys=[]\n;var AF_dataservicecequests={};var AF_initDataChunkQueue=[];var AF_initDataCallback;var AF_initDataInitializeCallback;if(AF initialdatainitializecallback){initializecallback)(AF_initDataKeys,AF_initDataChunkQueue,AF_dataServiceRequests);}如果(!AF_initDataCallback){AF_initDataCallback=function(chunk){AF_initDataChunkQueue.push(chunk);};}' 请帮我解决这个问题。
谢谢

从v1到v2并不是那么简单。您需要解决很多问题。“查询”API调用已更改为API调用。这会带来很多后果

首先,URL路径发生了巨大的变化。请参考上面链接的参考页面,但它需要更像

https://dialogflow.googleapis.com/v2/projects/PROJECT_ID/agent/sessions/SESSION_ID:detectIntent
它还需要是HTTPS POST请求-您不能再使用GET了

移动到POST还意味着请求主体更加复杂。虽然v1在JSON结构的顶层中有大多数参数,但v2在嵌套的JSON对象中有这些参数。因此,尽管声明“timezone”被替换为“queryParams.timezone”,但这确实意味着您的JSON响应需要一个包含

{
  ...
  "queryParams": {
    ...
      "timeZone": "America/NewYork"
    ...
  }
  ...
}
正如您在评论中所指出的,最大的变化是您需要如何做