【发布时间】:2020-01-24 01:57:16
【问题描述】:
我想从控制台移动这段代码:
curl --data "token=TOKEN_NO&email=USER@EXAMPLE.COM" https://slack.com/api/users.lookupByEmail
到类方法并从 Slack(用户详细信息)获得响应,就像从控制台一样。我试图做这样的事情,但我没有看到任何结果:
require 'net/http'
module Slack
class GetUserID
SLACK_API_ENDPOINT = 'https://slack.com/api/users.lookupByEmail'
def call
escaped_address = URI.decode_www_form_component(SLACK_API_ENDPOINT)
uri = URI.parse(escaped_address)
puts Net::HTTP.post(uri, params)
end
private
def params
{
token: 'TOKEN_NO',
email: 'USER@EXAMPLE.COM'
}
end
end
end
现在我有一个错误:
send_request_with_body': undefined methodbytesize' for #Hash:0x00007f9d85093100> (NoMethodError)
我哪里错了?我应该改用HTTParty 吗?
【问题讨论】:
-
您需要显示堆栈跟踪,以便我们理解这一点。
-
我认为你需要添加
.to_json,所以它看起来像:puts Net::HTTP.post(uri, params.to_json)