- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 DialogFlow 实现 Webhook 来访问我的应用程序,但每当我发出请求时,它都会返回:
POST /webhook 500 INTERNAL SERVER ERROR
来自ngrok。我已经检查了关于dialogflow和ngrok连接的几乎所有内容,但一无所获
WebHook URL
https://3aa04ed7.ngrok.io/webhook
main.py
@app.route('/webhook', methods=['POST'])
def webhook():
req = request.get_json(silent=True, force=True)
print("Request:")
print(json.dumps(req, indent=4))
res = processRequest(req)
res = json.dumps(res, indent=4)
print("Response:")
print(res)
response = make_response(res)
response.headers['Content-Type'] = 'application/json'
return response
def processRequest(req):
print("Processing request")
result = req.get("result")
# contexts = result.get("contexts")
action = result.get("action")
if action == "givesymptoms":
return giveSymptoms(req)
elif action == "followup":
return followUp(req)
return result
终端错误
Processing request
127.0.0.1 - - [09/Dec/2019 04:56:40] "POST /webhook HTTP/1.1" 500 -
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\flask\app.py", line 2328, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Python27\lib\site-packages\flask\app.py", line 2314, in wsgi_app
response = self.handle_exception(e)
File "C:\Python27\lib\site-packages\flask\app.py", line 1760, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Python27\lib\site-packages\flask\app.py", line 2311, in wsgi_app
response = self.full_dispatch_request()
File "C:\Python27\lib\site-packages\flask\app.py", line 1834, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Python27\lib\site-packages\flask\app.py", line 1737, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Python27\lib\site-packages\flask\app.py", line 1832, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Python27\lib\site-packages\flask\app.py", line 1818, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "C:\Users\User\Desktop\HomeDoctor-master\HomeDoctor-master\main.py", line 41, in webhook
res = processRequest(req)
File "C:\Users\User\Desktop\HomeDoctor-master\HomeDoctor-master\main.py", line 56, in processRequest
action = result.get("action")
AttributeError: 'NoneType' object has no attribute 'get'
最佳答案
在您的processRequest
函数中
result = req.get("result")
返回 None,因此当您尝试在 None 类型对象中调用 get('action') 时,它会引发 'NoneType' 对象没有属性 'get'
所以你可以使用这样的东西
result = req.get("result", {})
# if there is no key with 'result' in that dict req.get("result", {}) returns {}
action = result.get("action")
# if there is no key with "action" in result object action carries None type
关于python - Dialogflow 履行 Webhook 连接失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59242069/
实现的在线 shopify 文档显示了这个例子: POST /admin/orders/#{id}/fulfillments.json { "fulfillment": { "tra
我有检查数组中值的函数 const arr = [10,20,30]; const check = (needle) => { return new Promi
promise.each(function(obj){ obj.doIntensiveWork() .then(function(){ console.log("I A
我正在从 Protractor 切换到 Nightwatch.js,我在 Nightwatch 处理 promise 的方式上遇到了一些困难。 举个例子,我正在尝试计算满足给定条件的元素的数量。计数函
我正在尝试使用 DialogFlow 实现 Webhook 来访问我的应用程序,但每当我发出请求时,它都会返回: POST /webhook 500 INTERNAL SERVER ERROR 来自n
使用 BlueBird promise ,我尝试将 getCredentials 变成一个将作为 getCredentials.then(function() { do this and that }
我正在使用 Dialogflow 和 Actions on Google 开发一个应用程序,该应用程序需要在 Google Assistant 中发送每日生日通知。 我正在关注this documen
对于摩卡测试,我想断言 promise 最终会拒绝。 我不想使用 chai-as-promised。我更愿意只使用 Node 的标准断言模块,并且只使用标准 ES6 Promise。 我想出的最好的就
我想用其他 promise 来履行 promise 。重点是,我真的很想在第一个 promise 实现后立即访问(仍在等待中的)第二个promise。不幸的是,我似乎只能在两个 promise 都实现
我正在使用 Node.js 开发一个使用用户证书的项目。我需要以阻塞方式同步生成它们,但我使用的库(pem)只有异步函数(回调)。我尝试了多种方法来解决这个问题,但我的尝试都没有成功。我的代码如下所示
我试图表达如下内容: it("should use the 'text' mode", () => { let usedMockMode = false; let env = new
我是一名优秀的程序员,十分优秀!