从Slack API获取响应的正确方法

问题描述 投票:0回答:1

我想从控制台移动此代码:

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吗?

ruby slack-api
1个回答
0
投票

传递给Net::HTTP.post的第二个参数应该是一个字符串,请详细了解方法签名here

您将需要将params哈希转换为看起来像以下的查询字符串格式:

token=TOKEN_NO&[email protected]
© www.soinside.com 2019 - 2024. All rights reserved.