Ich machte Slack-API-Aufrufe durch Python-Bibliothek slackclient, die ein Wrapper um Slack-API ist. In einigen Fällen muss ich jedoch konventionelle API-Aufrufe auch mit URL und Get/Post-Methode machen. Ich habe versucht, einen direkten Nachrichtenkanal mit einem anderen Benutzer durch meinen Bot zu öffnen. Die Dokumentation - https://api.slack.com/methods/im.open sagt zu "diese Parameter als Teil einer Anwendung/x-www-Form-urlencoded Querystring oder POST Körper präsentieren. Anwendung/Json wird derzeit nicht akzeptiert."Slack-API-Aufrufe durch Python-Anfrage-Bibliothek
nun in Python, kann ich schreiben
url = 'https://slack.com/api/im.open'
headers = {'content-type':'x-www-form-urlencoded'}
data = {'token':BOT_TOKEN, 'user':user_id, 'include_locale':'true','return_im':'true'}
r= requests.post(url,headers,data)
print r.text
Die Botschaft, die ich erhalten, ist {"ok":false,"error":"not_authed"}
ich die Nachricht wissen "nicht authed" obwohl ich meine Bot-Token und ein anderer Benutzer-ID verwenden, meine Vorweg ist, dass ich die Anfrage in einem falschen Format sende, weil ich es einfach geschrieben habe und die Dokumentation gelesen habe. Ich bin mir nicht sicher, wie ich genau diese Anfragen senden soll.
Irgendwelche Hilfe?
try Einstellung 'data' als' [('token', BOT_TOKEN), ('user', user_id), .....] 'und dann' response = requests.post (url, Daten, ** Header) ' –
es hat funktioniert. Danke @ArpitGoyal –
sollte ich eine Antwort posten, damit Sie es upvote? –