2016-07-31 17 views
0

Ich versuche, mit HTTPotion auf die Slack-API zu posten. Ich kam in this Frage über sie und sie wies mich in die richtige Richtung, aber ich hielt die Störung zu erhalten:In Slack-API schreiben Elixir

HTTPotion.Response{body: "invalid_payload", 
... 

Mein Code ist

HTTPotion.post "https://hooks.slack.com/services/T00000000/B0000000/xxxxxxxxxxxxx", [body: "{'channel': '#elixir', 'username': 'elixir stuff', 'text': '#{text}'", headers: ["Content-Type": "application/json"]] 

Ich bin nicht wirklich sicher, was mit meiner Nutzlast falsch ist

Jede Hilfe wäre

Antwort

3

groß sein, das ist, weil Ihr body nicht gültig JSON ist, wie es stattdessen einfache Anführungszeichen verwendet o f doppelte Anführungszeichen und auch nicht den Wert von text richtig entgehen. Sie sollten dafür einen geeigneten JSON-Encoder wie verwenden. Nach dem Hinzufügen poison als eine Abhängigkeit, können Sie tun:

body: Poison.encode!(%{channel: "#elixir", username: "elixir stuff", text: text}), ...