我想从控制台移动此代码:
curl --data "token=TOKEN_NO&[email protected]" 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: '[email protected]'
}
end
end
end
现在我有一个错误:
[
send_request_with_body': undefined method
bytesize'for #Hash:0x00007f9d85093100>(NoMethodError)]
我在哪里错?我应该改用HTTParty
吗?
传递给Net::HTTP.post
的第二个参数应该是一个字符串,请详细了解方法签名here。
您将需要将params
哈希转换为看起来像以下的查询字符串格式:
token=TOKEN_NO&[email protected]