如何处理 Trello webhooks?回报率 API
How to handle Trello webhooks? RoR API
我是后端开发 (RoR) 的新手。对不起我的英语不好。
现在我正在使用 Trello API 并尝试接收(处理)webhook。
我正在使用 ruby-trello gem。我也在使用 ngrok。
我成功创建了 webhook(在 Trello 中)。
现在,当我编辑 Trello 对象(由 webhook 标记)时,我收到了从 Trello 到我的应用程序到 WebhooksController#receive 的请求。
routes.rb:
post '/webhooks' => 'webhooks#receive', :defaults => { :format => 'json' }
get '/webhooks' => 'webhooks#complete', :defaults => { :format => 'json' }
webhooks_controller.rb
class WebhooksController < ApplicationController
skip_before_action :verify_authenticity_token
@@data = File.read('public/data.json')
def complete
render status: 200
end
def receive
JSON.parse(request.body.read)
render :json => @@data
end
end
但我一直看到JSON::ParserError (765: unexpected token at ''):
现在 我只想查看 Webhooks 请求的 json 以了解后续步骤并编写代码。
有人可以帮忙吗?
先感谢您。 :)
您可以使用 logger.info
.
记录来自 Webhook 请求的 JSON 的内容
例如:
def receive
logger.info "Trello webhook request's JSON: #{params}"
# rest of your code...
end
那你得检查一下你的日志。可能会在 log/production.log
.
如果您能够让 Trello 访问您的本地服务器,您可以调试您的操作以查看 webhook 请求中的内容 JSON 在操作中放置一个 debugger
语句。
例如:
def receive
debugger
JSON.parse(request.body.read)
render :json => @@data
end
此外,request.body.read
不是获取参数的最佳方式。您可以只调用 params
,它将 return 一个 Hash
与您的参数。实际上,request.body.read
没有 return 一个有效格式的对象被解析为 JSON,我认为这是异常的原因。
我是后端开发 (RoR) 的新手。对不起我的英语不好。
现在我正在使用 Trello API 并尝试接收(处理)webhook。 我正在使用 ruby-trello gem。我也在使用 ngrok。
我成功创建了 webhook(在 Trello 中)。 现在,当我编辑 Trello 对象(由 webhook 标记)时,我收到了从 Trello 到我的应用程序到 WebhooksController#receive 的请求。
routes.rb:
post '/webhooks' => 'webhooks#receive', :defaults => { :format => 'json' }
get '/webhooks' => 'webhooks#complete', :defaults => { :format => 'json' }
webhooks_controller.rb
class WebhooksController < ApplicationController
skip_before_action :verify_authenticity_token
@@data = File.read('public/data.json')
def complete
render status: 200
end
def receive
JSON.parse(request.body.read)
render :json => @@data
end
end
但我一直看到JSON::ParserError (765: unexpected token at ''):
现在 我只想查看 Webhooks 请求的 json 以了解后续步骤并编写代码。
有人可以帮忙吗? 先感谢您。 :)
您可以使用 logger.info
.
例如:
def receive
logger.info "Trello webhook request's JSON: #{params}"
# rest of your code...
end
那你得检查一下你的日志。可能会在 log/production.log
.
如果您能够让 Trello 访问您的本地服务器,您可以调试您的操作以查看 webhook 请求中的内容 JSON 在操作中放置一个 debugger
语句。
例如:
def receive
debugger
JSON.parse(request.body.read)
render :json => @@data
end
此外,request.body.read
不是获取参数的最佳方式。您可以只调用 params
,它将 return 一个 Hash
与您的参数。实际上,request.body.read
没有 return 一个有效格式的对象被解析为 JSON,我认为这是异常的原因。