Users_not_found в HTTParty-запросе к SlackAPI, когда работает curl - PullRequest
1 голос
/ 24 января 2020

Я пытаюсь использовать GET-запрос с использованием httparty gem, чтобы получить информацию о конкретном c пользователе из SlackAPI. Из curl работает хорошо

curl --data "token=SLACK_TOKEN&email=user@example.com" https://slack.com/api/users.lookupByEmail

Но мой код ниже, кажется, не работает, потому что я получил ошибку {"ok":false,"error":"users_not_found"}

module Slack
  class GetUserId
    def call
      response = HTTParty.get("https://slack.com/api/users.lookupByEmail", payload: payload, headers: headers)
    end

    def headers
      {
        'Content-Type' => 'application/json',
        'Authorization' => 'Bearer SLACK_TOKEN'
      }
    end

    def payload
      {
         email: "user@example.com"
      }.to_json
    end
  end
end

1 Ответ

1 голос
/ 24 января 2020

Если вы проверяете их документацию, кажется, что API не принимает JSON -форму, а скорее "application / x- www-form-urlencoded. Так что-то вроде:

headers: {
  'Authorization' => 'Bearer SLACK_TOKEN,
   "Content-Type" => "application/x-www-form-urlencoded"
     },
body: {
     "token=SLACK_TOKEN”,
     ”email=user@example.com" 
    ...

Ссылка: https://api.slack.com/methods/users.lookupByEmail

...