2016-10-27 2 views
0

Ich schaue auf die Slack-API für den Unterricht API-Verbrauch in Ruby. Benötigt die Slack-API alle Parameter als Teil der Abfragezeichenfolge oder kann sie auch Post-Params übernehmen.Slack API Postmessage

Nachrichten wie diese Arbeit:

def self.sendmsg(channel, msg) 
    url = BASE_URL + "chat.postMessage?" + "token=#{TOKEN}" + "&text=#{msg}&channel=#{channel}" 
    data = HTTParty.post(url) 
end 

jedoch dies nicht:

def self.sendmsg(channel, msg) 
    url = BASE_URL + "chat.postMessage?" + "token=#{TOKEN}" 
    data = HTTParty.post(url, 
       body: { 
        "text" => "#{msg}", 
        "channel" => "#{channel}" 
      }.to_json, 
      :headers => { 'Content-Type' => 'application/json' }) 
    end 

Antwort

0

Ich denke, die sauberste Antwort ist einfach dies:

url = 'https://someslackwebhookurl/adfdsf/sdfsfsd' 
msg = 'We are fumanchu' 
HTTParty.post(url, body: {"text":"#{msg}"}.to_json) 
0

Ich habe es geschafft, die Frage zu beantworten:

data = HTTParty.post(url, 
      body: { 
       "text" => "#{msg}", 
       "channel" => "#{channel}", 
       "username" => bot_name, 
       "icon_url" => icon_url, 
       "as_user" => "false" 
      }, 
     :headers => { 'Content-Type' => 'application/x-www-form-urlencoded' }) 

Es wird nicht funktionieren mit JSON-Inhalt seltsam genug.