Senden einer Post -Abfrage, die per Httparty gesendet wurde
-
26-10-2019 - |
Frage
Ich arbeite mit der Puffer App API mit HTTParty, um zu versuchen, Beiträge über die hinzuzufügen /Updates/erstellen Methode, aber die API scheint meinen Parameter "Text" zu ignorieren und macht einen Fehler auf. Wenn ich es über Curl in der Befehlszeile mache, funktioniert es perfekt. Hier ist mein Code:
class BufferApp
include HTTParty
base_uri 'https://api.bufferapp.com/1'
def initialize(token, id)
@token = token
@id = id
end
def create(text)
BufferApp.post('/updates/create.json', :query => {"text" => text, "profile_ids[]" => @id, "access_token" => @token})
end
end
Und ich führe die Methode wie diese aus:
BufferApp.new('{access_token}', '{profile_id}').create('{Text}')
Ich habe hinzugefügt debug_output $stdout
an die Klasse und es scheint OK zu posten:
POST /1/updates/create.json?text=Hello%20there%20why%20is%20this%20not%20working%3F&profile_ids[]={profile_id}&access_token={access_token} HTTP/1.1\r\nConnection: close\r\nHost: api.bufferapp.com\r\n\r\n"
Aber ich bekomme einen Fehler. Vermisse ich etwas?
Lösung
Ich habe die überprüft API, und die Updates erwarten, dass der JSON im Postkörper ist, nicht in der Abfragezeichenfolge. Versuchen :body
Anstatt von :query
:
def create(text)
BufferApp.post('/updates/create.json', :body => {"text" => text, "profile_ids[]" => @id, "access_token" => @token})
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow