如何处理Trello Webhooks?ROR API



我是后端开发(ROR(的新手。对不起我的英语不好。

现在,我正在与Trello API合作,并尝试接收(处理(Webhooks。我正在使用Ruby-trello Gem。我也在使用ngrok。

我成功创建了Webhooks(在Trello中(。现在,当我编辑trello对象(由webhook标记(时,我有从Trello到我的应用程序到WebHookScontroller#接收的请求。

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 Request的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,它将用您的参数返回Hash。实际上,request.body.read不会以有效格式返回对象以解析为JSON,我认为这是例外的原因。

相关内容

  • 没有找到相关文章

最新更新